在MySQL中建立多对多关系的映射(建立中间表)

前言

这篇文章适用的是多对多关系,如何判断一对多,多对多关系?请点下面的链接:
【数据库】快速判断一对多,多对多关系,并建立数据库实体之间的映射

一、创建两张要建立多对多关系的表

众所周知在创建一对多映射时,要在多的一方添加外键。 但是在建立多对多关系的映射时,我们要借助一张中间表,并在中间表里添加外键,所以两张表的建表语句就是正常的建表语句,只需要添加每个表本身的字段即可,不需要添加额外属性。

随便举个例子吧,route表(线路)和user表(用户),它们两个表是多对多关系,每个用户可以收藏多个线路,每个线路也可以被多个用户收藏。

然后route表和user表只需要有其基本的字段即可。

二、建立中间表

多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键。
如下图所示:
(图系本人于黑马程序员视频学习总结)

在MySQL中建立多对多关系的映射(建立中间表)
建立中间表的SQL语句如下:
在MySQL中建立多对多关系的映射(建立中间表)

三、可视化建立

懒人们可以使用下面的方法,打开SQLyog自带的架构设计器可视化建立关联。
在MySQL中建立多对多关系的映射(建立中间表)