表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成。SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据库中,当不再使用或退出SQL Server时,临时表会自动删除;永久表一旦创建之后,除非用户删除,否则将一直存在数据库文件中。

  创建数据表的两种方法:(1) 通过对象资源管理器创建;(2) 通过Transact-SQL语句进行创建

1 Transact-SQL创建表

1.1 语法

CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name ( { <column_definition> | <computed_column_definition> | <column_set_definition> }[ <table_constraint> ] [ ,...n ] ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] [ { TEXTIMAGE_ON { filegroup | "default" } ] [ FILESTREAM_ON { partition_scheme_name | filegroup | "default" } ][ WITH ( <table_option> [ ,...n ] ) ]
[ ; ]<column_definition> ::=
column_name <data_type>[ FILESTREAM ][ COLLATE collation_name ] [ NULL | NOT NULL ][ [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] | [ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ] ][ ROWGUIDCOL ] [ <column_constraint> [ ...n ] ] [ SPARSE ] <data type> ::=
[ type_schema_name . ] type_name [ ( precision [ , scale ] | max | [ { CONTENT | DOCUMENT } ] xml_schema_collection ) ] <column_constraint> ::=
[ CONSTRAINT constraint_name ]
{     { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor  | WITH ( < index_option > [ , ...n ] ) ] [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ]| [ FOREIGN KEY ] REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression )
} <computed_column_definition> ::=
column_name AS computed_column_expression
[ PERSISTED [ NOT NULL ] ]
[ [ CONSTRAINT constraint_name ]{ PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ][ WITH FILLFACTOR = fillfactor | WITH ( <index_option> [ , ...n ] )]| [ FOREIGN KEY ] REFERENCES referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE } ] [ ON UPDATE { NO ACTION } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ]
] <column_set_definition> ::=
column_set_name XML COLUMN_SET FOR ALL_SPARSE_COLUMNS< table_constraint > ::=
[ CONSTRAINT constraint_name ]
{ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] (column [ ASC | DESC ] [ ,...n ] ) [ WITH FILLFACTOR = fillfactor |WITH ( <index_option> [ , ...n ] ) ][ ON { partition_scheme_name (partition_column_name)| filegroup | "default" } ] | FOREIGN KEY ( column [ ,...n ] ) REFERENCES referenced_table_name [ ( ref_column [ ,...n ] ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression )
}
<table_option> ::=
{DATA_COMPRESSION = { NONE | ROW | PAGE }[ ON PARTITIONS ( { <partition_number_expression> | <range> } [ , ...n ] ) ]
}<index_option> ::=
{ PAD_INDEX = { ON | OFF } | FILLFACTOR = fillfactor | IGNORE_DUP_KEY = { ON | OFF } | STATISTICS_NORECOMPUTE = { ON | OFF } | ALLOW_ROW_LOCKS = { ON | OFF} | ALLOW_PAGE_LOCKS ={ ON | OFF} | DATA_COMPRESSION = { NONE | ROW | PAGE }[ ON PARTITIONS ( { <partition_number_expression> | <range> } [ , ...n ] ) ]
}
<range> ::=
<partition_number_expression> TO <partition_number_expression>

2 Transact-SQL修改表

2.1 语法

ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{ ALTER COLUMN column_name { [ type_schema_name. ] type_name [ ( { precision [ , scale ] | max | xml_schema_collection } ) ] [ COLLATE collation_name ] [ NULL | NOT NULL ] [ SPARSE ]| {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION | SPARSE }} | [ WITH { CHECK | NOCHECK } ]| ADD { <column_definition>| <computed_column_definition>| <table_constraint> | <column_set_definition> } [ ,...n ]| DROP {[ CONSTRAINT ] { constraint_name [ WITH ( <drop_clustered_constraint_option> [ ,...n ] ) ] } [ ,...n ]| COLUMN {column_name } [ ,...n ]} [ ,...n ]| [ WITH { CHECK | NOCHECK } ] { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] }| { ENABLE | DISABLE } CHANGE_TRACKING [ WITH ( TRACK_COLUMNS_UPDATED = { ON | OFF } ) ]| SWITCH [ PARTITION source_partition_number_expression ]TO target_table [ PARTITION target_partition_number_expression ][ WITH ( <low_lock_priority_wait> ) ]| SET ( FILESTREAM_ON = { partition_scheme_name | filegroup | "default" | "NULL" } )| REBUILD [ [PARTITION = ALL][ WITH ( <rebuild_option> [ ,...n ] ) ] | [ PARTITION = partition_number [ WITH ( <single_partition_rebuild_option> [ ,...n ] ) ]]]| <table_option>| <filetable_option>}
[ ; ]

2.2 示例

  修改表添加新列

ALTER TABLE [dbo].[Product] ADD [UnitPrice] DECIMAL(18,2) NULL

ALTER TABLE [dbo].[Product] ADD [UnitsInStock] INT NULL, [UnitsOnSale] INT NULL

  修改列

ALTER TABLE [dbo].[Product] ALTER COLUMN [ProductName] VARCHAR(100) NOT NULL

  删除列

ALTER TABLE [dbo].[Product] DROP COLUMN [UnitPrice]

3 Transact-SQL删除表

3.1 语法

DROP TABLE [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ][ ; ]

4 表操作示例

  查看数据库中全部的表

USE [Portal]
GO
SELECT * FROM INFORMATION_SCHEMA.TABLES
GO

  INFORMATION_SCHEMA是一个特定的访问路径,用于显示系统数据库及其内容的相关元数据。如INFORMATION_SCHEMA.VIEWS、INFORMATION_SCHEMA.SCHEMATA。

  查看表的属性

  存储过程sp_help的功能是查看任意数据库对象、用户自定义数据类型或SQL Server数据类型的信息。

  执行存储过程sp_help的语法结构:

EXEC sp_help <name>

  查看Product表的属性:

EXEC sp_help Product

转载于:https://www.cnblogs.com/libingql/p/4087155.html

Sql Server系列:数据表操作相关推荐

  1. 【数据库实验课堂】实验二 使用SQL Server管理数据表

    实验二 使用SQL Server管理数据表: 1.请在指定数据库内完成以下内容: 1) 依据数据表的结构创建相对应的数据表,表结构如下所示: **学生信息表(student)**字段名称 字段类型及长 ...

  2. 使用SQL Server管理数据表

    <数据库系统概论>实验报告 日期 2020/9/13 题目:使用SQL Server管理数据表 姓名 学号 实验环境: 已安装SQL Server 2005/2008版的计算机 实验内容及 ...

  3. SQL Server打开数据表中的XML内容时报错的解决办法

    从SQL Server2005开始提供了一种新的数据类型XML type,它允许用户将数据以XML文件的格式直接存储到数据表中.结合在ASP.NET中使用Linq to Sql,我们可以非常方便地将X ...

  4. Sql Server系列:数据库操作

    1 创建数据库 1.1 CREATE DATABASE语法 CREATE DATABASE database_name [ ON [ PRIMARY ] <filespec> [ ,... ...

  5. SQL Server 新增数据表数据

    新增数据表数据 1. DML是数据库的操纵语言 ,使用DML方便了用户操作数据库数据 INSERT语句,用于新增记录到数据库表: 2. INSERT语句 新增表数据时所有字段都需要赋值的话,字段名可以 ...

  6. SQL Server为数据表增加列(字段)的SQL语句

    下面是一个示例: ALTER TABLE TableName ADD NewField DECIMAL(18, 2) NOT NULL DEFAULT ((0)) 上面的代码为"TableN ...

  7. SQL Server大数据表的分区存储

    为什么80%的码农都做不了架构师?>>>    1. 建立分区存储的文件组(filegroup)和文件(file) ALTER DATABASE Student ADD FILEGR ...

  8. SQL Server 查询数据表数据

    查询数据表数据 1.查询数据表所有字段的数据信息: 2.查询部分列的所有数据: 3.查询部分列的所有数据,过滤重复行信息:

  9. SQL Server 删除数据表数据

    删除数据表数据 1.DELETE语句删除数据表数据 2.删除数据表的所有数据不包括数据框架: delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的 ...

  10. SQL Server 更新数据表记录

    更新数据表记录 1.UPDATE语句用于更新数据表中的数据,可以一次更新一列和多列数据, 对数据表的字段相应列进行全部的更新 更新一列数据表语法: update student set 字段=值 更新 ...

最新文章

  1. c实现面向对象编程(3)
  2. 全新池化方法AdaPool | 让ResNet、DenseNet、ResNeXt等在所有下游任务轻松涨点
  3. eclipse安装反编译插件jd-eclipse
  4. redis相关知识记录整理
  5. IntelliJ IDEA使用(一)基本设置与类、方法模板设置
  6. 建立一颗二叉排序树,并删除该二叉排序树上的某个节点
  7. OAF_OAF组件系列1 - Item Style汇总(概念)
  8. winform,wpf全屏 还显示任务栏的解决方法
  9. DATASNAP数据序列之FIREDAC的TFDJSONDataSets
  10. Android 360分包,如何安装分包app安装包
  11. html表格 超链接无效,excel表格超链接失效的解决方法
  12. 计算机上睡眠和休眠区别,计算机睡眠和休眠的区别
  13. 抖音小姐姐太好看了,我用Python把视频全部爬取下来
  14. XTU 1148 三角形
  15. VBA 工作表 worksheet.add 方法
  16. Java、计算税收(Java8)
  17. imp oracle错误3114,imp时发生错误ORA-01114
  18. 【NOIP 2016】Day1 T2 天天爱跑步
  19. 万圣节html代码大全,基于Jquery实现万圣节快乐特效
  20. 谈谈我做拼音搜索的一点经验

热门文章

  1. 网上银行等电子支付平台的WEB登陆安全性简要分析
  2. ubuntu系统工具记录
  3. Libevent源码分析-----日志和错误处理
  4. do_initcalls 的原理
  5. 解决方案】VMware无法从主机向虚拟机跨系统复制粘贴拖动文件/文本
  6. 如何安装Scrapy
  7. Linux用管道移动文件夹,linux常用命令(示例代码)
  8. 根据pid查端口_PID控制原理:看完这几个故事你就明白了
  9. flask html 得到文本框 input的内容_Python的Web框架Flask + Vue 生成漂亮的词云
  10. 2018计算机java二级题库6_2018年计算机二级考试JAVA试题及答案六