[Mysql] Mysql的多表查询----多表关系(下)

4、操作

方式二:创建表之后设置外键约束

外键约束也可以在修改表时添加,但是添加外键约束的前提是:从表中外键列中的数据必须与主表中主键列中的数据一致或者是没有数据。

语法:

alter table <从表名> add constraint <外键名> foreign key (<列名>) references <主表名> (<列名>);

创建主表:

创建从表:

创建外键约束:

5、数据插入

注意:当主表和从表有外键约束是,给主表和从表添加数据时,必须先给主表添加数据。

(1)给主表添加数据

(2)给从表添加数据

注意:注意给从表添加数据时,外键列的值不能随便写,必须依赖主表的主键列--即:外键列中的值只能是主键列上的值。

6、删除数据

注意:

(1)主表的数据被从表依赖时(即:主列中的值在外列中的值出现)时,不能删除,否则可以删除。

(2)从表的数据可以随便删除。

例如:

1、

2、

注意:删除表时,只能先删除从表,再删除主表。

7、删除外检约束

当一个表不需要外键约束时,就需要从表将其删除。外键一旦删除,就会解除主表和从表间的关联关系。

格式:

alter table <从表名> drop foreign key <外键约束名> ;

实现:

相关推荐
acaad30 分钟前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤30 分钟前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
SunflowerCoder1 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日1 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
Zoey的笔记本2 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
什么都不会的Tristan2 小时前
MybatisPlus-扩展功能
数据库·mysql
超级种码2 小时前
Redis:Redis 数据类型
数据库·redis·缓存
chirrupy_hamal3 小时前
PostgreSQL 中的“脏页(Dirty Pages)”是什么?
数据库·postgresql
陈天伟教授4 小时前
关系数据库-07. 关系操作
数据库·达梦数据库·国产数据库
zzhongcy4 小时前
复合索引 (item1, item2, item3 ) > (?, ?, ?) 不起作用,EXPLAIN 后type=ALL(全表扫描)
android·数据库