约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。
MYSQL中,常用的几种约束: 主键约束 PRIMARY KEY 代表唯一的一条数据,唯一且非空 唯一约束 UNIQUE 唯一,就是不能重复 外键约束 FOREIGN KEY 可以确保关联表的数据的正确性 非空约束 NOT NULL 不能为空
MYSQL的默认约束是DEFAULT, DEFAULT约束只会在使用INSERT语句时体现出来,INSERT语句中,如果被DEFAULT约束的位置没有值,那么这个位置将会被DEFAULT的值填充
主键(PRIMARY KEY)是用于约束表中的一行,作为这一行的标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键要求这一行的数据不能有重复且不能为空。 还有一种特殊的主键——复合主键。主键不仅可以是表中的一列,也可以由表中的两列或多列来共同标识
唯一约束(UNIQUE)比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。 当INSERT语句新插入的数据和已有数据重复的时候,如果有UNIQUE约束,则INSERT失败.
外键(FOREIGN KEY)既能确保数据完整性,也能表现表之间的关系。 一个表可以有多个外键,每个外键必须REFERENCES(参考)另一个表的主键,被外键约束的列,取值必须在它参考的列中有对应值。
非空约束(NOT NULL),被非空约束的列,在插入值时必须非空。 在MySQL中违反非空约束,不会报错,只会有警告.