MySQL多表创建关联及操纵

打印 上一主题 下一主题

主题 504|帖子 504|积分 1512

表与表之间的关系

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

常见的实例:客户和订单,分类和商品,部分和员工。
一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表的主键。
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开发全套学习资料》送给各人,初衷也很简朴,就是希望可以或许资助到想自学提升又不知道该从何学起的朋友,同时减轻各人的负担。



由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包罗大厂面经、学习笔记、源码讲义、实战项目、解说视频
如果你以为这些内容对你有资助,可以扫码领取!
Kafka进阶篇知识点


Kafka高级篇知识点

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

由于篇幅有限,小编已将上面先容的**《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资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表