SQL server完整性约束的操作
完整性约束:三类完整性约束
SQL server给完整性约束命名及删除完整性约束:戳这里!!!
本文对在创建表时或者创建表后如何设置约束条件(列级、表级)做了详细说明,希望可以帮到大家!!!
【注】:完整性约束条件涉及到该表的多个属性列时,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
实体完整性的操作
一、创建表时,可以规定实体完整性
在CREATE TABLE语句中使用PRIMARY KEY定义哪些列为主码(主键)。
需要注意:
1.主键必须包含唯一的值。
2.主键列不能包含 NULL 值。
3.每个表都应该有一个主键,并且每个表只能有一个主键。
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype PRIMARY KEY,column_name datatype,......
);
定义为表级约束条件:
CREATE TABLE SC
(column_name datatype,column_name datatype,......PRIMARY KEY(column_name,column_name...)
);
表级约束条件中,括号中的列共同作为主键。
二、表创建好后,定义实体完整性
基本语法:
ALTER TABLE table_name
ADD PRIMARY KEY (column_name,column_name...)
需要注意的是,该列不能取空值。
参照完整性的操作
一、创建表时,可以定义参照完整性
在CREATE TABLE语句中用FOREIGN KEY短语定义哪些列为外码。
用REFERENCES短语指明这些外码参照哪些表的主码。
指定外码后,参照完整性规则自动生效。
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype FOREIGN KEY [该列名] REFERENCES table_name(column_name),column_name datatype,......
);
//定义列级参照完整性约束时,其中[该列名]可以省略
定义为表级约束条件:
CREATE TABLE SC
(column_name datatype,column_name datatype,......FOREIGN KEY(column_name,column_name) REFERENCES table_name(column_name)
);
二、表创建好后,定义参照完整性
基本语法:
ALTER TABLE table_name
ADD FOREIGN KEY (column_name)
REFERENCES table2_name(column_name);
用户定义的完整性操作
一、创建表时,可以定义 用户定义的完整性
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype NOT NULL,column_name datatype UNIQUE,column_name datatype CHECK(该列要满足的条件),......
);
定义为表级约束条件:
1.NOT NULL
值得注意的是:NOT NULL和DEFAULT不能在表级完整性约束处定义。(有关DEFAULT大家可以自行查询)
2.UNIQUE
CREATE TABLE SC
(......UNIQUE(column_name,column_name......)
);
3.CHECK
如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义。
CREATE TABLE SC
(......CHECK(column1_name满足的条件 AND column2_name满足的条件......)
);
二、表创建好后,定义用户定义的完整性操作
1.NOT NULL
ALTER TABLE table_name
ALTER COLUMN column datatype NOT NULL;
2.UNIQUE
ALTER TABLE table_name
ADD UNIQUE (column_name);
3.CHECK
ALTER TABLE table_name
ADD CHECK (column_name要满足的条件);
SQL server完整性约束的操作
完整性约束:三类完整性约束
SQL server给完整性约束命名及删除完整性约束:戳这里!!!
本文对在创建表时或者创建表后如何设置约束条件(列级、表级)做了详细说明,希望可以帮到大家!!!
【注】:完整性约束条件涉及到该表的多个属性列时,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
实体完整性的操作
一、创建表时,可以规定实体完整性
在CREATE TABLE语句中使用PRIMARY KEY定义哪些列为主码(主键)。
需要注意:
1.主键必须包含唯一的值。
2.主键列不能包含 NULL 值。
3.每个表都应该有一个主键,并且每个表只能有一个主键。
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype PRIMARY KEY,column_name datatype,......
);
定义为表级约束条件:
CREATE TABLE SC
(column_name datatype,column_name datatype,......PRIMARY KEY(column_name,column_name...)
);
表级约束条件中,括号中的列共同作为主键。
二、表创建好后,定义实体完整性
基本语法:
ALTER TABLE table_name
ADD PRIMARY KEY (column_name,column_name...)
需要注意的是,该列不能取空值。
参照完整性的操作
一、创建表时,可以定义参照完整性
在CREATE TABLE语句中用FOREIGN KEY短语定义哪些列为外码。
用REFERENCES短语指明这些外码参照哪些表的主码。
指定外码后,参照完整性规则自动生效。
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype FOREIGN KEY [该列名] REFERENCES table_name(column_name),column_name datatype,......
);
//定义列级参照完整性约束时,其中[该列名]可以省略
定义为表级约束条件:
CREATE TABLE SC
(column_name datatype,column_name datatype,......FOREIGN KEY(column_name,column_name) REFERENCES table_name(column_name)
);
二、表创建好后,定义参照完整性
基本语法:
ALTER TABLE table_name
ADD FOREIGN KEY (column_name)
REFERENCES table2_name(column_name);
用户定义的完整性操作
一、创建表时,可以定义 用户定义的完整性
定义为列级约束条件:
CREATE TABLE SC
(column_name datatype NOT NULL,column_name datatype UNIQUE,column_name datatype CHECK(该列要满足的条件),......
);
定义为表级约束条件:
1.NOT NULL
值得注意的是:NOT NULL和DEFAULT不能在表级完整性约束处定义。(有关DEFAULT大家可以自行查询)
2.UNIQUE
CREATE TABLE SC
(......UNIQUE(column_name,column_name......)
);
3.CHECK
如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义。
CREATE TABLE SC
(......CHECK(column1_name满足的条件 AND column2_name满足的条件......)
);
二、表创建好后,定义用户定义的完整性操作
1.NOT NULL
ALTER TABLE table_name
ALTER COLUMN column datatype NOT NULL;
2.UNIQUE
ALTER TABLE table_name
ADD UNIQUE (column_name);
3.CHECK
ALTER TABLE table_name
ADD CHECK (column_name要满足的条件);