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

相关推荐
RestCloud1 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud1 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence4 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger10 小时前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥1 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud1 天前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术1 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug1 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom1 天前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*1 天前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud