MySQL约束类型:
主键约束、唯一键约束、外键约束、非空约束、表属性自动增加、设置表字段的默认值
1、主键约束(关键字:PRIMARY KEY):
主键是表的一个特殊字段。该字段能唯一的标识该表中的每条信息。主键和记录的关系,如同***和人的关系。主键用来标识每个记录,每个记录的主键值都不同。***是用来表明人的身份,每个人都具有唯一的***号。设置表的主键旨在创建表时设置表的某个字段为主键
主键的主要目的是帮助MySQL以最快的速度查找到表中的某一条信息。主键必须满足的条件就是主键值必须唯一,表中任意两条记录的主键字段的值不能相同;主键的值是非空值。主键可以是单一字段,也可以是多个字段的组合。
简单来讲:如果一个字段定义为主键,该字段值必须是唯一的,且不能为空。每张表只能定义一个主键,但是可以定义多个字段组合为一个主键类型。
2、唯一键约束(关键字:UNIQUE):
唯一性是指所有记录中该字段的值不能重复出现。设置表的唯一性约束是指在创建表时,围标的某些特殊字段加上UNIQUE约束条件。唯一性约束将保该值在UNIQUE字段是唯一的。
简单来讲:如果一个字段定义为唯一键,该字段值必须是唯一的,可以为空。每张表可以定义多个唯一键。
3、外键约束(关键字:CONSTRAINT、FOREIGN KEY、REFERENCES):
外键是表的一个特殊字段。主要是建立表之间的关联关系。外键必须依赖数据库已存在的父表的主键。
简单来讲:如果一个字段定义为外键,该字段则需要依赖另一张表的主键,这样就与另外一张表关联起来。另外一张表就是此表的父表,外键可以为空值。且子表外键数据类型必须和父表数据类型一直。
4、非空约束(关键字:NOT NULL):
保证该字段插入的值不能为空。
5、表属性自动增加(AUTO_INCREMENT):
字段数值自动增加,不会出现重复值,而且一般不会为空。
6、设置表字段的默认值(关键字:DEFAULT):
在创建表的时候可以指定表中字段的默认值。如果插入一条新的记录时没有为这个字段赋值,那么数据库系统会自动为这个字段插入默认值。
原文地址:http://minux.blog.51cto.com/8994862/1649553