SQL server给完整性约束命名及删除完整性约束
本文对三种完整性约束,在创建表时以及创建表后如何给约束命名(列级、表级)做了介绍。最后介绍了在约束命名的条件下,如何删除约束。1.为约束起命名时,用到的关键字CONSTRAINT。2.需要注意的是,在同一数据库中约束的名字是不允许重复的,即使是在不同的表中。也就是说,除非你把约束名删除,否则不允许出现第二次。 为PRIMARY KEY 约束命名创建表时:列级:CREATE...
·
本文对三种完整性约束,在创建表时以及创建表后如何给约束命名(列级、表级)做了介绍。
最后介绍了在约束命名的条件下,如何删除约束。
1.为约束起命名时,用到的关键字CONSTRAINT。
2.需要注意的是,在同一数据库中约束的名字是不允许重复的,即使是在不同的表中。也就是说,除非你把约束名删除,否则不允许出现第二次。
为PRIMARY KEY 约束命名
创建表时:
列级:
CREATE TABLE table_name(
column_name datatype 约束名 PRIMARY KEY,
column_name datatype,
......
);
表级:
CREATE TABLE table_name(
column_name datatype,
column_name datatype,
......
CONSTRAINT 约束名 PRIMARY KEY (column_name,column_name,...)
);
表创建好后:
ALTER TABLE table_name
ADD CONSTRAINT 约束名 PRIMARY KEY (column_name,column_name,...)
为FOREIGN KEY 约束命名
创建表时:
列级:
CREATE TABLE table_name(
column_name datatype,
column_name datatype CONSTRAINT 约束名 FOREIGN KEY (该列名) REFERENCES table_name(column_name),
......
);
//其中"(该列名)"可以省略
表级:
CREATE TABLE table_name(
column_name datatype,
column_name datatype,
......
CONSTRAINT 约束名 FOREIGN KEY (column_name,column_name...)
REFERENCES table_name(column_name)
);
表创建好后:
ALTER TABLE table_name
ADD CONSTRAINT 约束名
FOREIGN KEY (column_name)
REFERENCES table_name(column_name)
为用户自定义约束命名
创建表时:
列级:
create table user7(
column_name datatype constraint 约束名 NOT NULL,
column_name datatype constraint 约束名 UNIQUE,
column_name datatype constraint 约束名 CHECK(该列满足的条件)
);
表级:
1.NOT NULL
NOT NULL不能定义为表级,所以自然不能为这个约束表级命名。
2.UNIQUE
CREATE TABLE table_name(
column_name datatype,
column_name datatype,
......
CONSTRAINT 约束名 UNIQUE (column_name,column_name...)
);
3.CHECK
CREATE TABLE table_name(
column_name datatype,
column_name datatype,
......
CONSTRAINT 约束名 CHECK (column_name满足的条件 AND column_name满足的条件)
);
表创建好后:
1.UNIQUE
ALTER TABLE table_name
ADD CONSTRAINT 约束名 UNIQUE (column_name,column_name...)
2.CHECK
ALTER TABLE table_name
ADD CONSTRAINT 约束名 CHECK (column_name满足条件 AND column_name满足条件)
利用约束名删除约束
删除的基本语法都一样:
ALTER TABLE table_name
DROP CONSTRAINT 要删除的约束名
更多推荐



所有评论(0)