约束
什么是约束:约束给表字段添加限制条件
非空约束
字段值不能为null
create table t1(id int,age int not null);
insert into t1 values(1,20);
insert into t2 values(2,null);
唯一约束 unique
字段值不能重复
create table t2 (id int,age int unique);
insert into t2 values(1,20);
insert into t2 values(2,20);
默认约束 default
当字段的值不赋值的时候,默认约束的内容生效
create table t(id int,age int default 10);
检查约束 check
mysql语法支持 ,不报错,但是没效果
create table t_check(id int,age int check (age>10));
外键约束
作用:
外键值可以为null,可以重复,但是不能删除不存在的值
外键指向的表 ,不能先删除
外键指向的数据不能先删除,如果需要删除,先删除外键约束,或者删除外键的数据(断开关联关系)
除非特殊情况,一般工作中不使用外键,使用java代码逻辑对插入和删除的数据进行限制,因为加了外键不方便测试