Mysql多表关联更新方式

吾爱主题 阅读:139 2022-12-13 17:16:00 评论:0

Mysql多表关联更新

日常的开发中一般都是写的单表update语句,很少写多表关联的update。

在MySQL中我们有几种方法可以做到多表关联更新:

在两张表之间做关联,可以更新关联的多张表

?
1 2 3 4 update   biao1,表2 set 表1.列名=表2.列名   --外键或关联字段 where 更新条件; --例如:表1.列名=表2.列名,或字段aa>1等等

通过 INNER JOIN,可以更新关联的多张表

?
1 2 3 update 表1 inner join 表2   on   表1.列名=表2.列名   --外表链接 ID set   表1.列名=值; --更新的内容

通过 LEFT JOIN ,可以更新关联的多张表

?
1 2 3 update   表1 left join 表2   on   表1.列名=表2.列名   --外表链接ID set   表1.列名=新值;

通过子查询,只更新一张表

?
1 2 update 表1 set 表1.列名=( select   字段   from   表2   where   表2.列名=表1.列名 );

Mysql多表关联update

日常的开发中一般都是写的单表update语句,很少写多表关联的update。

在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小差异。

来看一个具体的例子。

?
1 2 3 4 update table1 t1     inner join table2 t2         on t1.id = t2.id set t1. name =t2. name ;

在上面的例子中,update关键字后跟的是一个多表关联的结果集,MySQL直接将这个多表关联的结果集看做一个单表,再在这个单表的基础上做常规的update操作。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qingxikeren/article/details/123115034

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容