【九,MySQL】基础篇--多表查询(多表关系:一对多/多对一,多对多,一对一)
一,多表关系
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】基础篇--多表查询(多表关系:一对多/多对一,多对多,一对一)相关推荐
- MySQL基础篇:子查询
文章目录 概述 where型子查询 from型子查询 EXISTS型子查询 复制表子查询 概述 在某些情况下,当进行一个查询时,需要的条件或数据要用另一个select语句的结果,这个时候,就要用到** ...
- 22-05-10 西安 mysql基础篇(02) 修改表 、修改列、commit和rollback、表数据之增删改 DML 、列级约束、表级约束
我们的情绪背后藏着动机,动机总是正面的,因为意识从来不会伤害自己,只是误以为某些行为可以满足自己的这份动机. 结果去重 distinct select distinct 字段列表 from 表名称 [ ...
- Mysql基础篇(1)—— 基础概念、DML基本语法和表连接
前言 Mysql基础篇相关的内容是看了康师傅的视频做的笔记吧 数据库相关概念 DB: 数据库(Database) 存储数据的仓库,本质是一个文件系统.它保存了一系列有组织的数据. DBMS:数据库 ...
- MySQL基础(3)----其他函数 约束 多表查询 子查询 组合查询
1.其他函数 1.1.字符串函数 --- 操作字符串 常用函数: 函数 功能 CONCAT(s1, s2, ..., sn) 字符串拼接,将s1, s2, ..., sn拼接成一个字符串 LOWER ...
- MySQL——基础篇
MySQL--基础篇 一.数据库的相关概念 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件). 表(table) 某种特定类型数据的结构化清单. 模式(schema) 关 ...
- mysql 基础篇(二) 账号、权限管理
mysql 基础篇(二) 账号.权限管理.备份与还原 建立账号密码: Grant all on test.* to "cj"@"localhost" ident ...
- 最全MySQL基础篇
文章目录 导入表的问题 第三章_最基本的SELECT语句 1. SQL语言的规则和规范 1) 基本规则 2) SQL大小写规范(建议遵守) 3) 注释 4) 命名规则 2. 基本的SELECT语句 1 ...
- mysql基础篇笔记(黑马)
以下笔记借鉴于黑马MYSQL视频,记录为个人学习笔记参考. 包含基本SQL语句.函数.约束.多表查询.事物等概念 存储引擎.索引.SQL优化.视图/存储过程/触发器.锁.InnoDB核心.MySQL管 ...
- MySQL基础篇——第11章 DML(数据操作):增删改
MySQL基础篇--第11章 DML(数据操作):增删改 1. 插入数据(增) INSERT INTO ... 使用 INSERT INTO 语句向表中插入数据(记录) 1.1 方式1:VALUES ...
- 【MySQL基础篇】数据导出导入权限与local_infile参数
[MySQL基础篇]数据导出导入权限与local_infile参数 问题背景 数据导出测试 创建测试库(在主库进行) 测试数据导出(在从库进行) 测试数据导入(在主库进行) 问题背景 MySQL高可用 ...
最新文章
- java SE环境变量配置
- 2015年百度一面试题
- 消防荷载楼板按弹性还是塑性计算_现浇楼板裂缝处理办法全总结!
- css中哪些属性与创建多列相关,css3中的新增属性有哪些
- appcan 微信支付
- 关于编译器的一个疑问
- Angular自定义structural指令的实例化过程以及set方法的调用
- android生成aar无效,android studio生成aar包并在其他工程引用aar包的方法
- 10个一行代码就能搞定的编程技巧
- 2021年互联网租房行业洞察报告
- node命令错误--nodemon : 无法将“nodemon”项识别
- android消息机制 Message, Looper,Handler
- 【Flink】Flink 反压机制 导致checkpoint 失败
- Flutter学习 — 从新页面返回数据给上一个页面
- .Net 下未捕获异常的处理
- uniapp之地址定位选择,根据字母排序
- Flink Table Api SQL 初体验,Blink的使用
- Word2013插入分隔符(分节符)实现任意页插入页码
- matlab特征值归一化,如何用matlab将特征向量归一化呢?
- 将Maven配置到Eclipse中
热门文章
- WIN7系统,电脑防火墙怎么设置?
- linux模拟手柄输入,Linux joystick 游戏手柄编程 (获取输入数据)
- MATLAB信号处理——信号的变换(5)
- 太火了!如何抓住抖音私域流量红利?
- python做gui好吗_使用Python制作一个铅笔类(Python GUI编程)
- CAN/CANFD数据诊断记录仪 CANLog-VCI 的功能及应用
- python网页元素定位_用Selenium进行网页元素定位以及常用的定位元素的方法
- xen(四)xen配置文件
- EZ CD Audio Converter v9.4.0.1 CD转换抓轨工具便携版
- 论文阅读笔记(二):Bridging Video-text Retrieval with Multiple Choice Questions