Mysql多表关联更新方式
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操作。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mysql5.7.19 winx64安装配置方法图文教程(win10)
这篇文章主要为大家详细介绍了mysql5.7.19 winx64安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07
MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题
这篇文章主要介绍了MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题 ,需要的朋友可以参考下2019-07-07
如何解决mysqlimport: Error: 13, Can''t get stat of 的问题
本篇文章是对解决mysqlimport: Error: 13, Can't get stat of问题的方法进行了详细的分析介绍,需要的朋友参考下2013-06-06
彻底搞懂数据库操作truncate delete drop关键词的区别
这篇文章主要为大家介绍了数据库操作truncate delete drop关键词的区别,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09


最新评论