mysql约束

一.概念

约束是用于作用于表中字段上的规则,用于限制存储在表中的数据。

2.目的

保证数据库中数据的正确、有效性、和完整性。

3.分类

4.案例

1.创建表

2.插入数据

3.查看数据

1.id约束

可以看到id在自增

2.name的null约束

3.check约束

4.default约束

5.外键约束

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

但是现在我们这样创建这样两张表,他们只要逻辑上的关系 如果把研发部删了 ,emp表却还是写着1号部分,我们需要建立外键关系

1.添加外键

此时如果你想要删除一个父表的研发部,他将会告诉你,这是一个父表,你还关联了一个子表

这样就保证了我们数据的一致性和完整性

2.删除外键

alter table emp drop foreign key 外键名;

3.外键删除更新行为

1.cascade(级联)

更新

现在我们把研发部为1的改为6,子表也会改为6

删除

把研发部删除,也会跟着删除对应有关研发部的所有记录

2.set null

2.1更新研发部

改为6

2.2删除研发部

删除6

相关推荐
ITenderL1 天前
MySQL联合索引遇到范围查询
数据库·索引
敲个大西瓜1 天前
Redis一百道核心面试题
数据库·redis·缓存
無a伟1 天前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水1 天前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv1 天前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris1 天前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils1 天前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春1 天前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_1 天前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
杨云龙UP1 天前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad