MySql中的约束
mysql中的约束使用和oracle使用差别不大。
1.主键约束
如同人对应身份证,主键能够唯一地标识表中的一条记录,可以结合外键来定义数据表之间的关系。
主键约束要求主键列的数据唯一,并且不允许为空。
分为两种类型:单字段主键
和多字段联合主键
2.外键约束
外键约束是为了来维持参照完整性的。也就是用来维持两个表的数据之间关系的。想一下有两个表, 一个职员表,一个部门表,部门表中部门编号为主键,职员表里面也有一个部门编号,如果他不按照部门表中的部门编号来写,就乱套了,所以要外键关联到部门表的主键,确保参照完整性,也就是不能瞎写,必须要写合法的。
外键约束在一个表中可以有多个,因为可能关联多个表,另外不允许删除在另一个表中具有关联关系的行。
tb2中的deptid关联tb1中的id.
3.非空约束。
顾名思义也就是不能为空。
这个not null 就是定义了非空约束
4.唯一性约束。
唯一性约束与主键有点相同但也有很大的不同,从名字看以看出这是为了记录的唯一存在,看起来和主键作用一样,但是唯一性约束可以有多个,而且数据可以为空
5.默认约束
默认约束是用来指定某列默认值的。
如果存数据的时候没有存放,默认会是1111.
最后提一下怎么设置表的属性值自增长。
通过给表主键添加 auto_increment关键字来实现。默认初始值为1,每新增一条记录,字段值自动加1,一个表只有一个字段能使用,且必须为主键一部分