09 多表操作

Posted deepsealin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 多表操作相关的知识,希望对你有一定的参考价值。

1.外键

可以明确地声明表示  表和表 之间关系的字段的参照关系,使数据库帮我们维护这种关系,这种键就叫做在表和表之间声明了一个外键。

如果在后续的操作中由于新增修改删除造成破坏了外键约束的情况发生时,数据库会检测到这种状况从而组织这类操作的进行。

 

2.为表添加外键约束

○ 创建表的时候添加外键

FOREIGN  KEY (字段名)  REFERENCES 表名(字段名)

 

 技术图片

技术图片

 

 表示   表 emp  里面的 id  和  表dept  里面的id  相关联技术图片

 

在表中插入数据后

技术图片技术图片

 

 此时删除dept中的科技部,删除失败。因为具有外键约束。

技术图片

 

 需要先删除emp 表中的数据,再删除dept 中的数据。

技术图片

 

 

○ 表已存在,通过修改表的语句增加外键

ALTER  TABLE  表名  ADD  CONSTRAINT FK_ID  FOREIGN KEY(外键字段名)  REFERENCES  外表表名 (主键字段名);

技术图片

 

 显示表emp 参考 表dept

技术图片

 

 

3.删除外键

ALTER  TABLE  表名  DROP  FOREIGN  KEY  外建名;

技术图片

 

 

4.设计关联表

○ 对于一对多   我们可以在多的一方设计外键,保存一的一方的主键

○ 对于一对一   我们可以在任一方保存另一方的主键作为外建

○ 对于多对多   新建一张第三方关系表,保存两张表的主键作为外键,存储两张表主键之间的对应关系,来保存两张表之间的关系

 

5.添加数据

○ 对于一对多 必须先插入一,然后插入多

○ 对于多对多 先插入一方,再插入另一方,最后插入关系

 

6.删除数据

○ 对于一对多  先删除多,再删除一

○ 对于多对多 先删除多和多,再删除关系表

 

以上是关于09 多表操作的主要内容,如果未能解决你的问题,请参考以下文章

2019.09.24学习整理 数据库的字段操作多表关系外键

MySQL数据篇之多表操作-----保姆级教程

Mybatis单表多表查询,动态SQL使用

阶段3 1.Mybatis_09.Mybatis的多表操作_2 完成account表的建立及实现单表查询

MyBatis多条件查询动态SQL多表操作注解开发

阶段3 1.Mybatis_09.Mybatis的多表操作_9 mybatis多对多操作-查询用户获取用户所包含的角色信息