SQL--约束
SQL--约束
什么是约束?约束分类?
用来维护数据的正确性.
约束演示
建立表
create table user(
id int primary key auto_increment comment '主键',
name varchar(10) not null unique comment '姓名',
age int check (age>=0&&age<=120) comment '年龄',
status char(1) default '1' comment '状态',
gender char(1) comment '性别'
)comment '用户表'
插入数据
# 插入数据
insert into user(name,age,status,gender) values ('TOM1',19,'1','男'),('TOM2',23,'1','男');
# 不给status赋值也会有默认值
insert into user(name,age,gender) values ('TOM5',120,'男');
插入不成功也会向主键申请
外键约束
概念
外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。
要想保证数据的一致性和完整,必须要建立外键关联.
外键语法
# 添加外键
alter table emp add constraint fk_emp_id foreign key (dept_id) references dept(id);
# 删除外键
alter table emp drop foreign key fk_emp_id;
删除和更新行为
设置为cascade
# cascade
alter table emp add constraint fk_emp_id foreign key(dept_id) references dept(id) on update cascade on delete cascade;
设置为setnull
# setnull
alter table emp add constraint fk_emp_id foreign key (dept_id) references dept(id) on update set null on delete set null ;