SQL的约束

约束的分类

约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。

在MySQL中,通常有这几种约束:

约束类型: 主键 默认值 唯一 外键
关键字: PRIMARY KEY DEFAULT UNIQUE FOREIGN
非空 KEY
NOT NULL

主键

主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。

 id INT(10) PRIMARY KEY

也可这样

CONSTRAINT dpdm  PRIMARY KEY  dpt_nane
                         自定义主键名

还有一种复合主键,不仅可以是表中的一列,也可以由表中的两列或多列来共同标识

CONSTRAINT dpdm  PRIMARY KEY  (dpt_nane ,dpt_dm)
                         自定义主键名

默认值约束

默认值约束 (DEFAULT) 规定,当有 DEFAULT 约束的列,插入数据为空时,将使用默认值。

DEFAULT 约束只会在使用 INSERT 语句(上一实验介绍过)时体现出来,INSERT语句中,如果被 DEFAULT 约束的位置没有值,那么这个位置将会被 DEFAULT 的值填充。

唯一约束

唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

当 INSERT 语句新插入的数据和已有数据重复的时候,如果有 UNIQUE约束,则 INSERT 失败

外键约束

外键 (FOREIGN KEY) 既能确保数据完整性,也能表现表之间的关系。

一个表可以有多个外键,每个外键必须 REFERENCES (参考) 另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。

非空约束

非空约束 (NOT NULL),听名字就能理解,被非空约束的列,在插入值时必须非空。

你可能感兴趣的:(SQL的约束)