mysql左链表右链表区别_MySql链表语句--博客园老牛大讲堂

为什么链表?--博客园老牛大讲堂

因为表与表之间有关系,而且查询时需要两张表的某些数据。

链表的前提是:表与表之间必须设置主外键吗?

不是的,其实表与表之间不需要设置主外键关系,用数据库语句就可以实现链表查询,删除,修改,增加等操作。

为什么要设置主外键呢?

通常我们看到表与表之间有关系,常常设置主外键。为什么?其实这样做是为了规范!假设一个不了解你表结构的人,都能够任意的修改你的外键。那这个表就不严谨了。

我们到底设不设主外键呢?

分情况:1、如果表结构简单,少量的表。逻辑不复杂。那么这个就不需要设置主外键了。特别对于数据库语句不熟悉的人,就方便多了。

2、如果表结构复杂,有大量的表,逻辑复杂的。那么自己不可能记住所有主外键之间的关系,那么就需要设置主外键。

怎样实现链表查询呢?

链表查询又分为:左联表,右链表。等.

链表不仅可以进行查询,还可以链表查询,链表增加,链表删除,链表修改。

(左联表)、现在有两张表,a表与b表,a表主要字段有:id,a?1,a2,a3。b表字段有:id,b1,b1_id。其中a表的id为主键,b1_id为外键。如

思路:左连接就是以左边的a表为基础,查询出所关联的数据。多余的数据则清除,缺失的数据则为空。

a49fcde2c86010685b7023ece14ee7ec.png8329a1c2edfad48f517c40b140a591db.png

左链表查询结果如图所示:

7ea793c165f663e3d2dd776b42fa7b92.png

(右联表)、现在有两张表,a表与b表,a表主要字段有:id,a?1,a2,a3。b表字段有:id,b1,b1_id。其中a表的id为主键,b1_id为外键。图如上所示

思路: 右连接就是以右边的b表为基础,原理与左联接类似。

如果是右连接的结果是:

b28bf5d3e01569e5e68a5de3a3b1f466.png

上面都是链表查询结果,下面我说一个链表删除操作。

题目:现有两张表:chapters表:id(主键),name。division表:id(主键),name_id(chapters的外键),part。

要求:实现链表删除操作。

语句:DELETE c,d FROM chapters c JOIN division d ON c.id=d.name_id WHERE c.id=1

83933d13676cd84a1320e5df7313fa20.png        

76fa7b3bc6eb73542c793008a1f4fcf1.png

原文:http://www.cnblogs.com/laonniudajiangtang/p/6005461.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值