Mysql多表关联更新方式
目录
- Mysql多表关联更新
- Mysql多表关联update
- 总结
Mysql多表关联更新
日常的开发中一般都是写的单表update语句,很少写多表关联的update。
在MySQL中我们有几种方法可以做到多表关联更新:
在两张表之间做关联,可以更新关联的多张表
update biao1,表2 set 表1.列名=表2.列名 --外键或关联字段 where 更新条件;--例如:表1.列名=表2.列名,或字段aa>1等等
通过 INNER JOIN,可以更新关联的多张表
update 表1 inner join 表2 on 表1.列名=表2.列名 --外表链接 ID set 表1.列名=值;--更新的内容
通过 LEFT JOIN ,可以更新关联的多张表
update 表1 left join 表2 on 表1.列名=表2.列名 --外表链接ID set 表1.列名=新值;
通过子查询,只更新一张表
update 表1 set 表1.列名=(select 字段 from 表2 where 表2.列名=表1.列名 );
Mysql多表关联update
日常的开发中一般都是写的单表update语句,很少写多表关联的update。
在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小差异。
来看一个具体的例子。
update table1 t1 inner join table2 t2 on t1.id = t2.id set t1.name=t2.name;
在上面的例子中,update关键字后跟的是一个多表关联的结果集,MySQL直接将这个多表关联的结果集看做一个单表,再在这个单表的基础上做常规的update操作。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
mysql实现多表关联统计(子查询统计)示例
本文实例讲述了mysql实现多表关联统计的方法.分享给大家供大家参考,具体如下: 需求: 统计每本书打赏金额,不同时间的充值数据统计,消费统计, 设计四个表,book 书本表,orders 订单表 reward_log打赏表 consume_log 消费表 ,通过book_id与book表关联, 问题: 当关联超过两张表时导致统计时数据重复,只好用子查询查出来,子查询只能查一个字段,这里用CONCAT_WS函数将多个字段其拼接 实现: 查询代码如下 SELECT b.id, b.book_
-
Mysql update多表联合更新的方法小结
下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法 student表 class表 1. 执行 UPDATE student s , class c SET s.class_name='test00',c.stu_name='test00' WHERE s.class_id = c.id student表 class表 2. 执行 UPDATE student s JOIN class c ON s.class_id = c.id SET
-
Mysql跨表更新 多表update sql语句总结
假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%. 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: 复制代码 代码如下: UPDATE product p, productPrice pp SET pp.price = pp.price * 0.8 WHER
-
Mysql多表关联更新方式
目录 Mysql多表关联更新 Mysql多表关联update 总结 Mysql多表关联更新 日常的开发中一般都是写的单表update语句,很少写多表关联的update. 在MySQL中我们有几种方法可以做到多表关联更新: 在两张表之间做关联,可以更新关联的多张表 update biao1,表2 set 表1.列名=表2.列名 --外键或关联字段 where 更新条件:--例如:表1.列名=表2.列名,或字段aa>1等等 通过 INNER JOIN,可以更新关联的多张表 update 表1 i
-
SQL update 多表关联更新的实现代码
实现多表更新,尤其是A表和A的子表B表数据更新,下面是例子 有A.B张表,其记录如下: A表 c1 c2 -------------- 1 a1 2 a2 3 a3 8 a8 B表 c1 c3 -------------- 1 b1 2 b1 3 b3 10 b10 A.c1与B.c1相等,用一条sql语句,实现A.c2的值更新为B.c3 -----------------
-
MySQL 多表关联一对多查询实现取最新一条数据的方法示例
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法.分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 由于历史原因,表结构设计不合理:产品告诉我说需要导出客户信息数据,需要导出客户的 所属行业,纳税性质 数据:但是这两个字段却在订单表里面,每次客户下单都会要求客户填写:由此可知,客户数据和订单数据是一对多的关系:那这样的话,问题就来了,我到底以订单中的哪一条数据为准呢?经过协商后一致同
-
详解Mysql两表 join 查询方式
目录 一.SQL基本语法格式 二.3种join方式 1. left join(左连接) 2. right join(右连接) 3. inner join(内连接) 4. 在理解上面的三种join下,查询(A - A∩B) 5. 查询 ( B - A∩B ) 6. 查询(A∪B - A∩B) 7. 查询 AUB 一.SQL基本语法格式 SELECT DISTINCT < select_list > FROM < left_table > < join_type > JO
-
MySQL 超大表快速删除方式
目录 MySQL 超大表快速删除 表创建一个硬链接 执行表删除 执行文件删除 MySQL快速清空大表数据 清空表数据的五种方式 清空表数据语法 MySQL 超大表快速删除 MySQL里面直接对大表执行drop table删除有可能导致MySQL Hang住,对业务造成影响.删除超大表的前提是该表是独立表空间,这样删除才有效. 表创建一个硬链接 # du -sh pay_bills.ibd 175G pay_bills.ibd # 创建硬链接 # ln pay_bills.ibd
-
关于QueryWrapper,实现MybatisPlus多表关联查询方式
目录 QueryWrapper实现MybatisPlus多表关联查询 1.dao层接口使用Select注解写SQL 2.service层代码示例 3.反射工具类 4.判空工具类 MybatisPlus QueryWrapper简单用法 QueryWrapper实现MybatisPlus多表关联查询 1.dao层接口使用Select注解写SQL 重点:@Param("ew") Wrapper参数是必须,因为${ew.customSqlSegment} 底层其实就是where 条件,所以为
-
Mysql多表关联不走索引的原因及分析
目录 一.准备过程 二.比较 三.千万级别的数据查询个人优化建议 四.MYSQL多表查询的区别 总结 刚入职第一天,有个大佬写了一个统计函数count(*)需要对两张表a,b做统计.咋一看挺简单的,可是表a有1000万条数据,表b有300万条数据.使用LEFT JOIN进行查询.结果,一直查询不出来,可能时间就很久了.然后,这个锅就甩给第一天入职的我(我???). 接下来,就研究一下如何对海量数据的查询进行优化. 一.准备过程 1.创建两张表,表A large_student_tb(幼儿园大班学
-
postgresql 两表关联更新操作
我就废话不多说了,大家还是直接看代码吧~ UPDATE 要更新的表 SET 字段1 = cqt.字段1, 字段2 = cqt.字段2, FROM 数据来源表 cqt WHERE 要更新的表.bsm = cqt.bsm 补充:Postgresql 连表更新字段语法 update 下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据.sql如下: UPDATE tops_visa.visa_order SET op_audit_abort_pass_date = now()
-
MySQL详细讲解多表关联查询
目录 数据库设计范式 外键 内连接 外连接 结语 数据库设计范式 目前数据库设计有五种范式 , 一般我们数据库只需要满足前三项即可 第一范式 : 确保每列保持原子性 什么是原子性? 意思就是不可再分的,例如下 联系方式有 QQ,微信 , 电话等等 , 显然此列不满足原子性, 如果是单独的QQ或者电话等,则只有一个, 满足第一范式 第二范式 : 要有主键,要求其他字段都依赖于主键 为什么主键这么重要? 我们可以这样理解, 如果把表当作一个队伍, 那么主键就是这个队伍的队旗 • 没有主键就没有唯一性
随机推荐
- JavaScript面向对象之Prototypes和继承
- AngularJS模块详解及示例代码
- MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法
- 批处理写的电视机效果代码
- Chosen 基于jquery的选择框插件使用方法
- javascript监听鼠标滚轮事件浅析
- 关于IE的RegExp.exec的问题
- python操作摄像头截图实现远程监控的例子
- vue双向数据绑定原理探究(附demo)
- Mysql5.6忘记root密码修改root密码的方法
- Android app开发中的Fragment入门学习教程
- Android 自绘控件
- Java线程同步机制_动力节点Java学院整理
- Java泛型类型通配符和C#对比分析
- php 判断数组是几维数组
- Android开发实现按钮点击切换背景并修改文字颜色的方法
- 搭建docker内网私服的方法(docker-registry with nginx&ssl on centos)
- 小程序click-scroll组件设计
- springmvc实现跨服务器文件上传功能
- vue+webpack模拟后台数据的示例代码