MySQL数据的约束条件
前言
一、约束条件-主键(primary key)约束
主键与记录之间的关系如同身份证和人之间的关系,他们是一一对应的。
1)主键约束要求主键列的数据要唯一,并且不允许为空。
2)主键能唯一的标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,加快数据库的查询速度。
3)一般分为单字段主键和多字段联合主键。
1.单字段主键
字段名 数据类型 primary key [默认值]
2.多字段联合主键
primary key [字段1,字段2…]
二、约束条件-外键(foreign key)约束
外键用来两个表之间的数据建立连接。它可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则一个表中的外键必须为另一个表的主键。
-
主表(父表):主键所在
-
从表(子表):外键所在
这里teachers是主表,里面的id是主键;students是从表,里面的teacherid是外键。这就是students表中的teacherid指向students表中的id。
三、非空约束 not null
字段名 数据类型 not null
四、唯一性约束 unique index
字段名 数据类型 unique
注意:unique和primary key最大的区别:一个表可以有多个唯一性约束,但是只能有一个主键约束,且声明unique可以有空值,但是primary key不可以。
五、默认约束
字段名 数据类型 default 默认值
可以指定列表的默认值,例如,列表男性同学多,性别可以设置默认值为男,那么在如果没有为这个字段赋值时,系统会自动为这个字段赋值“男”