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

相关推荐
重生之我是Java开发战士3 小时前
【Java EE】事务与事务的传播机制
数据库·java-ee
润乾软件3 小时前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
会编程的吕洞宾3 小时前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap
ltl4 小时前
WiredTiger History Store:文档库里的第三种 MVCC
数据库
码农阿豪4 小时前
若依启动突然报 Redis MISCONF?一次从应用报错到磁盘爆满的完整排查记录
数据库·redis·bootstrap
ltl4 小时前
SQLite 查询计划器:没有 ANALYZE 时靠什么猜
数据库
ltl4 小时前
Redis maxmemory 策略:近似 LRU/LFU 与 MEMORY DOCTOR
数据库
leisoo80974 小时前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
倔强的石头1065 小时前
数据库迁移工具从单机作业走向云端协同
数据库
FfHUCisI5 小时前
Golang 数据库连接池深度调优
android·数据库·golang