通过UNIQUE约束定义唯一性约束,为了保证一个表非主键列不输入重复值,应在该列定义UNIQUE约束。
语法格式:
CREATE TABLE table_name /*指定表名*/ ( column_name datatype /*定义字段*/ [ CONSTRAINT constraint_name ] /*约束名*/ { PRIMARY KEY | UNIQUE } /*定义约束类型*/ [ CLUSTERED | NONCLUSTERED ] /*定义约束的索引类型*/ [,…n] )说明:
例如:对stsc数据库中goods2表的商品号列创建PRIMARY KEY约束,对商品名称列创建UNIQUE约束
USE stsc CREATE TABLE goods2 ( gid int NOT NULL CONSTRAINT PK_gid PRIMARY KEY, gname varchar(100) NOT NULL CONSTRAINT UK_gname UNIQUE, gprice float NOT NULL CHECK(gprice<=500), gclass varchar(60) DEFAULT 'articles of everyday use', gamount int NOT NULL, gdate date NULL, trade_price float NOT NULL )
修改表时创建PRIMARY KEY约束或UNIQUE约束的语法格式如下:
ALTER TABLE table_name ADD[ CONSTRAINT constraint_name ]{ PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED] ( column [ ,...n ] )例如:在stsc数据库中创建goods3表后,通过修改表,对商品号列创建PRIMARY KEY约束,对商品名称列创建UNIQUE约束。
USE stsc ALTER TABLE goods3 ADD CONSTRAINT PK_gdid PRIMARY KEY (gid), CONSTRAINT UK_gdname UNIQUE (gname)
ALTER TABLE table_name DROP CONSTRAINT constraint_name [,…n]例如:删除上例创建的PRIMARY KEY约束、UNIQUE约束
USE stsc ALTER TABLE goods3 DROP CONSTRAINT PK_gdid, UK_gdname