MySQL多表创建关联及操作
创始人
2025-01-15 08:06:22
0

表与表之间的关系


表语表之间的关系,说的就是表与表数据之间的关系。

一对多的关系

常见的实例:客户和订单,分类和商品,部门和员工。

一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表的主键。

alter table 从表 add [constraint][外键名称] foreign key(从表外键在字段名) references 主表(主表的主键);

多对多的关系

常见的实例:学生和课程,商品和订单,演员和角色。

多对多关系建立表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

建立关系

alter table stu_course add foreign key(sno) references stu(sid);

alter table stu_course add foreign key(sno) references course(cid);

一对一关系(了解)

在实际开发中应用不多,因为一对一可以创建成一张表。

两种建表原则:

外键唯一:主表的主键和从简的外键唯一,形成主外键关系,外键唯一 unique。

外键是主键:主表的主键和从表的主键,形成主外键关系。

多对多连接

实现如下表结构:

创建订单表

create table orders(

oid varchar(32) primary key,

totalprice double

);

创建经单项的表(中间表)

create table orderitem(

oid varchar(50),

pid varchar(50)

);

关联两张表

alter table orderitem add constraint orderitem_fk foreign key(oid) references orders(oid);

alter table orderitem add constraint orderitem1_fk foreign key(pid) references product(pid);

多表查询操作


1. 交叉连接查询(基本不会用到 - 得到的是两个表的乘积)

select * from A,B

select * from category,product;

内容是乱的!第一张表3条数据,第二张表9条数据,一共 3*9 = 27 条数据。

2. 内连接查询(使用关键字 inner join   – inner可以省略)

隐式内连接

select * from A,B where 条件

select * from category c,product p where c.cid = p.category_id;

显式内连接

select * from A inner join B on 条件

select * from category inner join product on cid=category_id;

select * from category join product on cid=category_id;

3. 外连接查询(使用关键字 outer join   --outer可以省略)

左外连接:left outer join

select * from A left outer join B on 条件

select * from category left join product on cid=category_id;

右外连接 right outer join

select * from A right outer join B on 条件;

select * from category right join product on cid=category_id;

左右连接的区别:

左连接:左边的数据全部查出来。category数据全部出来。

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

Kafka进阶篇知识点

image

Kafka高级篇知识点

image

44个Kafka知识点(基础+进阶+高级)解析如下

image

由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**

36.jpg" alt=“img” style=“zoom: 33%;” />

Kafka进阶篇知识点

[外链图片转存中…(img-Eic7JjJV-1711404739320)]

Kafka高级篇知识点

[外链图片转存中…(img-ZnRkbcku-1711404739321)]

44个Kafka知识点(基础+进阶+高级)解析如下

[外链图片转存中…(img-IJF8itja-1711404739321)]

由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**

需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

相关内容

热门资讯

2026版方法!火神微信辅助(... 2026版方法!火神微信辅助(辅助)其实是真的有辅助神器(有挂规律)1、点击下载安装,火神微信辅助脚...
操作辅助!奇迹陕西靖边锅子有没... 操作辅助!奇迹陕西靖边锅子有没有技巧!曝光真的有辅助挂(有挂教学)进入游戏-大厅左侧-新手福利-激活...
黑科技辅助挂!威信茶馆跑辅助器... 黑科技辅助挂!威信茶馆跑辅助器(辅助)果然确实有辅助app(真实有挂)1、在威信茶馆跑辅助器插件功能...
要领辅助!好友赣南插件!了解是... 要领辅助!好友赣南插件!了解是有辅助器(证实有挂)1)好友赣南插件免费钻石:进一步探索好友赣南插件免...
随着!决战平安京辅助软件(辅助... 随着!决战平安京辅助软件(辅助)切实存在有辅助挂(有挂透视)1、打开软件启动之后找到中间准星的标志长...
手册辅助!哈灵脚本修改器!解迷... 手册辅助!哈灵脚本修改器!解迷存在有辅助工具(有挂方法)运哈灵脚本修改器辅助工具,进入游戏界面。进入...
此事迅速冲上热搜!微信小程序财... 此事迅速冲上热搜!微信小程序财神十三张辅助(辅助)切实真的是有辅助挂(有挂教程)1、下载好微信小程序...
指引辅助!快玩炸翻天辅助工具!... 指引辅助!快玩炸翻天辅助工具!辅助是真的有辅助软件(真的有挂)在进入快玩炸翻天辅助工具软件靠谱后,参...
方法辅助挂!雀神广东麻将推倒胡... 方法辅助挂!雀神广东麻将推倒胡辅助器下载(辅助)真是真的是有辅助app(果真有挂)1、该软件可以轻松...
方案辅助!广西友玩修改器!普及... 方案辅助!广西友玩修改器!普及真的是有辅助技巧(真的有挂)广西友玩修改器透视方法中分为三种模型:广西...