|NO.Z.00048|——————————|BigDataEnd|——|Java&MySQL多表/外键/数据库设计.V06|——|MySQL.v06|多对多关系介绍|
一、多对多关系
### --- 多对多(m:n)
——> 例如:老师和学生,学生和课程,用户和角色
### --- n 多对多关系建表原则
——> 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的 主键。

二、sql语句
### --- sql语句
-- 多对多关系 演员与角色
-- 演员表
CREATE TABLE actor(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
-- 角色表
CREATE TABLE role(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
-- 创建中间表
CREATE TABLE actor_role(
-- 中间表的主键
id INT PRIMARY KEY AUTO_INCREMENT,
-- aid 字段 指向 actor表的主键
aid INT,
-- rid 指向 role表的主键
rid INT
);
-- 添加外键约束
-- aid字段添加外键约束
ALTER TABLE actor_role ADD FOREIGN KEY(aid) REFERENCES actor(id);
-- rid字段添加外键约束
ALTER TABLE actor_role ADD FOREIGN KEY(rid) REFERENCES role(id);
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv005-mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通