约束是SQLServer提供的自动强制数据完整性的一种方法,它是通过定义列的取值规则来维护数据的完整性。常用的约束是NOT NULL(非空)、CHECK(检查)、UNIQUE(惟一)、PRIMARY KEY(主键)、FOREIGN KEY(外键)和DEFALT(默认)约束。
PRIMARY KEY(主键)
①用SQL语句创建主键,可使用CREATE TABLE命令完成:
CREATE TABLE CITY
( CityNo CHAR(2) CONSTRAINT c1 PRIMARY KEY,
CityNameVARCHAR(30) NOT NULL);
②若创建表时没有设置主键,也可以使用ALTER TABLE命令为已存在的表创建主键约束:
ALTER TABLE CITY ADD CONSTRAINT c1 PRIMARY KEY(CityNo);
其中c1为主键约束名称。
UNIQUE(惟一)
为已存在的表创建惟一约束,SQL语句如下:
ALTER TABLE CITY ADD CONSTRAINT c2 UNIQUE(CityName);
CHECK(检查)
为已存在的表创建检查约束,SQL语句如下:
ALTER TABLE SC ADD CONSTRAINT c3 CHECK(GRADE>=0 ANDGRADE<=100);
DEFALT(默认)约束
为已存在的表创建默认约束,SQL语句如下:
ALTER TABLE STUDENT ADD CONSTRAINT c4 DEFAULT ‘M’ FOR Sex;
FOREIGN KEY(外键)
为已存在的表创建外键约束,SQL语句如下:
ALTER TABLE SC ADD CONSTRAINT c5 FOREIGN KEY(Sno)REFERENCES STUDENT(Sno);
删除约束
删除约束的SQL语句格式为:
ALTER TABLE <表名> DROP CONSTRAINT <约束名>;
例如,删除上例在JXGL数据库中为SC表的“Sno”列创建的外键约束。
ALTER TABLE SC DROP CONSTRAINT c5;