SQL--约束

SQL--约束

什么是约束?约束分类?

用来维护数据的正确性.

image-20230815182124344

约束演示

image-20230815182513683

建立表

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,'男');

插入不成功也会向主键申请

image-20230815183810432

image-20230815184200061

外键约束

概念

外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

image-20230815185918507

要想保证数据的一致性和完整,必须要建立外键关联.

外键语法

image-20230815190534984

# 添加外键
alter table emp add constraint fk_emp_id foreign key (dept_id) references dept(id);

image-20230815191029604

# 删除外键
alter table emp drop foreign key fk_emp_id;

删除和更新行为

image-20230815191719538

设置为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 ;

约束小结

image-20230815192737586

posted @ 2023-08-15 19:28  harper886  阅读(23)  评论(0编辑  收藏  举报