数据库约束性

(1)NULL | NOT NULL  用于定义列的空值约束。(定义列)  (下面的蓝色部份是单选其中之一)

 语法:CONSTRAINT 约束名 NULL | NOT NULL 

  a. NOT NULL 约束强制列不接受 NULL 值。

 b. NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。

(2)UNIQUE  约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)

语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, ... ...);

a. UNIQUE 约束唯一标识数据库表中的每条记录。

b. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

                c. PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

                d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

 说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列称为唯一键。如果为基本表的革一列或多个列的组合指定了UNIQUE约束,则系统将为这些列建立唯一索引,从而保证在表中的任意两行记录在指定的列或列组合上不能取同样的值。

(3)PRIMARY KEY 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)
语法:CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, ... ...);

a. 主键必须包含唯一的值。

b. 主键列不能包含 NULL 值。

c. 每个表应该都一个主键,并且每个表只能有一个主键。

 说明:用于定义基本表的主键。与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们之间也存在着很大差别:在一个基本表中只能定义一个 PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果为基本表的某一个列或多个列的组合指定了 PRIMARY KEY 约束,那么其中在任何一个列都不能出现空值;而 UNIQUE 约束允许出现空值。

 (4)FOREIGN KEY 外键 (即可以定义列也可能定义表)

 a.在REFERENCES 中引用的列必须和 FOREIGN KEY 的外部键列一一对应,即列数目相等并且相应列的数据类型相同。

 说明:指定某一个列或多个列的组合作为外部键,并在外部键和它所引用的主键或唯一键之间建立联系。在这种联系中,包含外部键的基本表称为从表,包含外部键引用的主键或唯一键的表称为主表。一旦为一列或列的组合定义了 FOREIGN KEY 约束,系统将保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。

(5)CHECK 约束用于限制列中的值的范围。 (即可以定义列也可能定义表)

语法:CONSTRAINT 约束名 CHECK (约束条件);

  a. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

b. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

说明:用于指定基本表中的每一条记录必须满足的条件,可以对基本表在各个列上的值做进一步的约束,如成绩列的取值既不能大于100,也不能小于0。
AGE int NOT NULL CHECK (AGE>0),



原文地址:https://www.cnblogs.com/dengshiwei/p/4258641.html