一,多表关系
1,一对多(多对一)

2,多对多

# =====================================================多对多=====================================================
create table student(id int auto_increment primary key comment 'id,主键',name varchar(10) comment '姓名',no varchar(10) comment '学号'
)comment '学生表' charset = utf8;insert into student(id, name, no) VALUES (1,'殷天正','1001'),(2,'张无忌','1002'),(3,'周芷若','1003'),(4,'慕容复','1004'),(5,'乔峰','1005');drop table score;create table score(id int auto_increment primary key comment 'id,主键',name varchar(10) comment '课程名称'
)comment '课程表' charset = utf8;insert into score(id, name) values (1,'JAVA'),(2,'HTML'),(3,'C#'),(4,'JavaScript'),(5,'Oracle');create table student_score(id int auto_increment primary key comment 'id,主键',student_id int not null comment '学生id',score_id int not null comment '课程id',constraint fk_student_id foreign key (student_id) references student(id),constraint fk_score_id foreign key (score_id) references score(id)
)comment '学生课程中间表' charset = utf8;insert into student_score values (null,1,1),(null,1,2),(null,1,3),(null,1,4),(null,1,5);select * from student;
select * from score;
select * from student_score;

图形化界面展示多表之间的关系


3,一对一


通过添加unique约束保证其是一对一的关系

# =====================================================一对一=====================================================create table tb_user(id int auto_increment primary key comment '主键ID',name varchar(10) comment '姓名',age int comment'年龄',gender char(1) comment '1:男,2:女',phone char(11) comment '手机号'
) comment '用户基本信息表' charset = utf8;create table tb_user_edu(id int auto_increment primary key comment '主键ID',degree varchar(20) comment '学历',major varchar(50) comment '专业',primaryschool varchar(50) comment '小学',middleschool varchar(50) comment '中学',university varchar(50) comment '大学',user_id int unique comment '用户ID,添加约束,保证其是一对一关系',constraint fk_userid foreign key (user_id) references tb_user(id)
) comment '用户教育信息表' charset = utf8;insert into tb_user(id,name,age,gender,phone) values
(null,'黄渤',45,'1', '18800001111') ,
(null,'冰冰',35,'2', '18800002222'),
(null,'码云',55,'1','18800008888'),
(null,'李彦宏',50,'1','18800009999');insert into tb_user_edu(id, degree, major, primaryschool, middleschool, university, user_id) values
(null,'本科','软件开发','xx小学','xx第一中学','xxx科技学院',1),
(null,'专科','会计','xx小学','xx第一中学','xx职业学院',2),
(null,'本科','酒店管理','xx小学','xx第一中学','xxx管理学院',3),
(null,'本科','教育','xx小学','xx第一中学','xx师范学院',4);select * from tb_user;
select * from tb_user_edu;

【九,MySQL】基础篇--多表查询(多表关系:一对多/多对一,多对多,一对一)相关推荐

  1. MySQL基础篇:子查询

    文章目录 概述 where型子查询 from型子查询 EXISTS型子查询 复制表子查询 概述 在某些情况下,当进行一个查询时,需要的条件或数据要用另一个select语句的结果,这个时候,就要用到** ...

  2. 22-05-10 西安 mysql基础篇(02) 修改表 、修改列、commit和rollback、表数据之增删改 DML 、列级约束、表级约束

    我们的情绪背后藏着动机,动机总是正面的,因为意识从来不会伤害自己,只是误以为某些行为可以满足自己的这份动机. 结果去重 distinct select distinct 字段列表 from 表名称 [ ...

  3. Mysql基础篇(1)—— 基础概念、DML基本语法和表连接

    前言 Mysql基础篇相关的内容是看了康师傅的视频做的笔记吧 数据库相关概念 DB: 数据库(Database) ​ 存储数据的仓库,本质是一个文件系统.它保存了一系列有组织的数据. DBMS:数据库 ...

  4. MySQL基础(3)----其他函数 约束 多表查询 子查询 组合查询

    1.其他函数 1.1.字符串函数  --- 操作字符串 常用函数: 函数 功能 CONCAT(s1, s2, ..., sn) 字符串拼接,将s1, s2, ..., sn拼接成一个字符串 LOWER ...

  5. MySQL——基础篇

    MySQL--基础篇 一.数据库的相关概念 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件). 表(table) 某种特定类型数据的结构化清单. 模式(schema) 关 ...

  6. mysql 基础篇(二) 账号、权限管理

    mysql 基础篇(二) 账号.权限管理.备份与还原 建立账号密码: Grant all on test.* to "cj"@"localhost" ident ...

  7. 最全MySQL基础篇

    文章目录 导入表的问题 第三章_最基本的SELECT语句 1. SQL语言的规则和规范 1) 基本规则 2) SQL大小写规范(建议遵守) 3) 注释 4) 命名规则 2. 基本的SELECT语句 1 ...

  8. mysql基础篇笔记(黑马)

    以下笔记借鉴于黑马MYSQL视频,记录为个人学习笔记参考. 包含基本SQL语句.函数.约束.多表查询.事物等概念 存储引擎.索引.SQL优化.视图/存储过程/触发器.锁.InnoDB核心.MySQL管 ...

  9. MySQL基础篇——第11章 DML(数据操作):增删改

    MySQL基础篇--第11章 DML(数据操作):增删改 1. 插入数据(增) INSERT INTO ... 使用 INSERT INTO 语句向表中插入数据(记录) 1.1 方式1:VALUES ...

  10. 【MySQL基础篇】数据导出导入权限与local_infile参数

    [MySQL基础篇]数据导出导入权限与local_infile参数 问题背景 数据导出测试 创建测试库(在主库进行) 测试数据导出(在从库进行) 测试数据导入(在主库进行) 问题背景 MySQL高可用 ...

最新文章

  1. java SE环境变量配置
  2. 2015年百度一面试题
  3. 消防荷载楼板按弹性还是塑性计算_现浇楼板裂缝处理办法全总结!
  4. css中哪些属性与创建多列相关,css3中的新增属性有哪些
  5. appcan 微信支付
  6. 关于编译器的一个疑问
  7. Angular自定义structural指令的实例化过程以及set方法的调用
  8. android生成aar无效,android studio生成aar包并在其他工程引用aar包的方法
  9. 10个一行代码就能搞定的编程技巧
  10. 2021年互联网租房行业洞察报告
  11. node命令错误--nodemon : 无法将“nodemon”项识别
  12. android消息机制 Message, Looper,Handler
  13. 【Flink】Flink 反压机制 导致checkpoint 失败
  14. Flutter学习 — 从新页面返回数据给上一个页面
  15. .Net 下未捕获异常的处理
  16. uniapp之地址定位选择,根据字母排序
  17. Flink Table Api SQL 初体验,Blink的使用
  18. Word2013插入分隔符(分节符)实现任意页插入页码
  19. matlab特征值归一化,如何用matlab将特征向量归一化呢?
  20. 将Maven配置到Eclipse中

热门文章

  1. WIN7系统,电脑防火墙怎么设置?
  2. linux模拟手柄输入,Linux joystick 游戏手柄编程 (获取输入数据)
  3. MATLAB信号处理——信号的变换(5)
  4. 太火了!如何抓住抖音私域流量红利?
  5. python做gui好吗_使用Python制作一个铅笔类(Python GUI编程)
  6. CAN/CANFD数据诊断记录仪 CANLog-VCI 的功能及应用
  7. python网页元素定位_用Selenium进行网页元素定位以及常用的定位元素的方法
  8. xen(四)xen配置文件
  9. EZ CD Audio Converter v9.4.0.1 CD转换抓轨工具便携版
  10. 论文阅读笔记(二):Bridging Video-text Retrieval with Multiple Choice Questions