MySql中的约束

mysql中的约束使用和oracle使用差别不大。

1.主键约束

如同人对应身份证,主键能够唯一地标识表中的一条记录,可以结合外键来定义数据表之间的关系。

 主键约束要求主键列的数据唯一,并且不允许为空。

分为两种类型:单字段主键

 

和多字段联合主键

2.外键约束

外键约束是为了来维持参照完整性的。也就是用来维持两个表的数据之间关系的。想一下有两个表, 一个职员表,一个部门表,部门表中部门编号为主键,职员表里面也有一个部门编号,如果他不按照部门表中的部门编号来写,就乱套了,所以要外键关联到部门表的主键,确保参照完整性,也就是不能瞎写,必须要写合法的。

外键约束在一个表中可以有多个,因为可能关联多个表,另外不允许删除在另一个表中具有关联关系的行。

tb2中的deptid关联tb1中的id.

3.非空约束。

顾名思义也就是不能为空。

这个not null 就是定义了非空约束

4.唯一性约束。

唯一性约束与主键有点相同但也有很大的不同,从名字看以看出这是为了记录的唯一存在,看起来和主键作用一样,但是唯一性约束可以有多个,而且数据可以为空

5.默认约束

默认约束是用来指定某列默认值的。

如果存数据的时候没有存放,默认会是1111.

最后提一下怎么设置表的属性值自增长。

通过给表主键添加 auto_increment关键字来实现。默认初始值为1,每新增一条记录,字段值自动加1,一个表只有一个字段能使用,且必须为主键一部分

原文地址:https://www.cnblogs.com/wxw7blog/p/7866898.html