mysql链表_MySql链表语句--博客园老牛大讲堂
为什么链表?--博客园老牛大讲堂
因为表与表之间有关系,而且查询时需要两张表的某些数据。
链表的前提是:表与表之间必须设置主外键吗?
不是的,其实表与表之间不需要设置主外键关系,用数据库语句就可以实现链表查询,删除,修改,增加等操作。
为什么要设置主外键呢?
通常我们看到表与表之间有关系,常常设置主外键。为什么?其实这样做是为了规范!假设一个不了解你表结构的人,都能够任意的修改你的外键。那这个表就不严谨了。
我们到底设不设主外键呢?
分情况:1、如果表结构简单,少量的表。逻辑不复杂。那么这个就不需要设置主外键了。特别对于数据库语句不熟悉的人,就方便多了。
2、如果表结构复杂,有大量的表,逻辑复杂的。那么自己不可能记住所有主外键之间的关系,那么就需要设置主外键。
怎样实现链表查询呢?
链表查询又分为:左联表,右链表。等.
链表不仅可以进行查询,还可以链表查询,链表增加,链表删除,链表修改。
(左联表)、现在有两张表,a表与b表,a表主要字段有:id,a1,a2,a3。b表字段有:id,b1,b1_id。其中a表的id为主键,b1_id为外键。如
思路:左连接就是以左边的a表为基础,查询出所关联的数据。多余的数据则清除,缺失的数据则为空。
左链表查询结果如图所示:
(右联表)、现在有两张表,a表与b表,a表主要字段有:id,a1,a2,a3。b表字段有:id,b1,b1_id。其中a表的id为主键,b1_id为外键。图如上所示
思路: 右连接就是以右边的b表为基础,原理与左联接类似。
如果是右连接的结果是:
上面都是链表查询结果,下面我说一个链表删除操作。
题目:现有两张表: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
mysql链表_MySql链表语句--博客园老牛大讲堂相关推荐
- mysql左链表右链表区别_MySql链表语句--博客园老牛大讲堂
为什么链表?--博客园老牛大讲堂 因为表与表之间有关系,而且查询时需要两张表的某些数据. 链表的前提是:表与表之间必须设置主外键吗? 不是的,其实表与表之间不需要设置主外键关系,用数据库语句就可以实现 ...
- java 模拟登陆exe_Java简单模拟登陆和爬虫实例---博客园老牛大讲堂
鉴于有人说讲的不清楚,我这里再详细补充一下:更新日期:2017-11-23 本片文章适合初学者,只简单说了一下爬虫怎么用,和一个简单的小实例.不适合你的就可以不看了.----博客园老牛大讲堂 1.什么 ...
- Java实现 第三方的验证码发送问题--博客园老牛大讲堂
简要:本篇文章,主要介绍怎样利用第三方平台实现短信验证码的发送问题.--博客园老牛大讲堂 1.Java发送(验证码,短信)原理--博客园老牛大讲堂 1.首先用户选定一个第三方平台. 2.进行一系列操作 ...
- bootstrap实现网页手风琴--博客园老牛大讲堂
网页常用有网页的左右导航,其中用到了bootstap框架. 例子一. <!DOCTYPE html> <html><head><meta charset=&q ...
- Css3引用外部字体样式---博客园老牛大讲堂
css3可以实现什么? 圆角,阴影,动画... 选择器: >:孩子选择器:例子:div>b{color:red}(div下孩子b颜色为红色) ~:兄弟 选择器:例子:div~b{color ...
- H5移动开发AUI框架入门---博客园老牛大讲堂
大家都知道H5可以开发移动端的页面,网上提供的移动端的开发都有很多.因为我学习了AUI框架,所以我这里介绍一下移动端AUI框架.--博客园老牛大讲堂 一.AUI框架是什么?---博客园老牛大讲堂 AU ...
- mysql 圆周率_mysql - π=3.1415926 - 博客园
数据库 Database Management System 简称DBMS 包括三大部分构成: 1 数据库文件集合, 主要是一系列的数据文件,作用是存储数据 2 数据库服务端, 主要负责对数据文件以及 ...
- mysql sign_mysql - 随笔分类 - signheart - 博客园
随笔分类 - mysql 摘要:有一个项目需要存储ios的表情(emoji表情)这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符.在MySQL ...
- mysql迭代器_迭代器 - 御姐玫瑰 - 博客园
一.协程 1.协程是Python语言独有的一种多任务方式. 2.使用gevent模块实现协程. 3.协程的实现过程(步骤) 迭代器 生成器 yield greenlet gevent 二.迭代器 1. ...
最新文章
- 设计模式--外观模式
- 算法笔记_188:历届试题 危险系数(Java)
- socket编程实现文件传输功能
- 如何将QVTKWidget嵌入到QT窗体,实现点云的显示?
- 定时器(setTimeout/setInterval)调用带参函数失效解决方法
- 2021-06-13读写锁=独占锁与共享锁
- 未来教育二级MS Office无纸化考试模拟软件
- 网络通信基础(局域网、广域网、IP地址、端口号、协议、封装、分用)
- 单片机c语言 课后答案,十天学会单片机C语言_郭天祥---课后习题答案
- jdbc sql拼接字符串
- 益盟操盘手编译的指标破解
- qq设置头衔显示服务器异常,qq头衔如何设置
- 两条线段之间的最短距离
- [python之数据分析] 基础篇1- Numpy,Scipy,Matplotlib 快速入门攻略
- 什么蓝牙耳机颜值高?盘点四款高颜值蓝牙耳机
- 这一年又是稀里糊涂地度过了
- Ubuntu 下旋转显示器屏幕
- 优达数据分析课程免费分享
- PHP分页方法,中间加省略号
- 人事工资信息管理系统