数据库原理与应用(9)——SQL数据表的基本操作
一、创建数据表
用SQL命令创建数据表
CREATE TABLE<表名>
(<列定义>[{,<列定义>|<表约束>}])
列定义——<列名> <数据类型> [DEFAULT] [{<列约束>}]
二、定义数据表约束
在SQL Server中,对于数据表的约束分为列约束和表约束
- 列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名
- 表约束与列定义相互独立,不包括在列定义中,通常用对多个列一起进行约束,与列定义用“,”分隔,定义表约束时必须指出要约束的列的名称
完整性约束的基本语法格式:[CONSTRAINT<约束名>] <约束类型>
约束类型:NULL/NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK
-
NULL/NOT NULL约束
- NULL表示“不知道”,“不确定”或“没有数据”的意思
- 主键列不允许出现空值
-
UNIQUE约束(唯一约束)
指明基本表在某一列或多个列的组合上的取值必须唯一,在建立UNIQUE约束时,需要考虑以下几个因素:
- 使用UNIQUE约束的字段允许为NULL值
- 一个表中可以允许有多个UNIQUE约束
- UNIQUE约束用于强制在指定字段上创建一个UNIQUE索引,缺省为非聚集索引
-
PRIMARY KEY约束(主键约束)
用于定义基本表的主键,起唯一标识作用,不能重复,不能为NULL
PRIMARY KEY与UNIQUE的区别
- 在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束
- 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现NULL值,而对于UNIQUE所约束的唯一键,则允许为NULL
- 不能为同一个列或一组列,即定义UNIQUE约束,又定义PRIMARY KEY约束
-
FOREIGN KEY(外键约束)
主表——从表
主键——外部键(引用) -
CHECK约束
用来检查字段值所允许的范围,在建立CHECK约束时,需要考虑以下几个因素
- 一个表中可以定义多个CHECK约束
- 每个字段只能定义一个CHECK约束
- 在多个字段上定义的CHECK约束必须为表约束
- 当执行INSERT,UNDATE语句时,CHECK约束将验证数据
三、修改数据表
-
增加新的列
ALTER TABLE<表名>
ADD <列定义>|<完整性约束定义>使用此方式增加的新列自动填充NULL值,所以不能为增加的新列指定NOT NULL约束
-
修改某列参数
ALTER TABLE<表名>
ALTER COLUMN<列名><数据类型>
[NULL|NOT NULL]
-
删除某列的约束
ALTER TABLE<表名>
DROP CONSTRAINT<约束名>
四、删除数据表
- 某个基本表已不再使用时,可将其删除后
- 删除后,表中的数据和所建的索引都被删除,建立在该表上的视图不会删除,系统将继续保留其定义,但已无法使用。
- 如果重新恢复该表,这些视图可重新使用
用SQL命令删除数据表
DROP TABLE<表名>
只能删除自己建立的表,不能删除其他用户所建的表
五、查看数据表
-
查看数据表的属性
-
查看数据表的数据