Mysql多表关联更新方式

 更新时间:2022年12月12日 10:44:01   作者:程序螺丝钉  
这篇文章主要介绍了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操作。

总结

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

相关文章

  • MySQL 整体架构介绍

    MySQL 整体架构介绍

    这篇文章主要介绍了MySQL 整体架构的相关资料,帮助大家更好的了解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-10-10
  • sql语句示例之case when作为where条件

    sql语句示例之case when作为where条件

    这篇文章主要给大家介绍了关于sql语句示例之case when作为where条件的相关资料,在SQL语句中CASE WHEN子句是根据条件表达式的结果来执行不同的逻辑操作,它使用在WHERE子句中,以根据特定的条件在查询结果中过滤数据,需要的朋友可以参考下
    2023-08-08
  • mysql数据库的全量与增量的备份以及恢复方式

    mysql数据库的全量与增量的备份以及恢复方式

    在数据库管理中,全量备份与恢复是将整个数据库的数据导出并在需要时完整地恢复,这通常使用mysqldump工具完成,增量备份则是在全量备份的基础上,只备份那些自上次全量备份后发生变化的数据,这需要数据库的二进制日志(binlog)开启
    2024-09-09
  • Mysql 索引 BTree 与 B+Tree 的区别(面试)

    Mysql 索引 BTree 与 B+Tree 的区别(面试)

    这篇文章主要介绍了Mysql索引BTree与B+Tree的区别,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 使用MySQL实现一个分布式锁

    使用MySQL实现一个分布式锁

    在分布式系统中,分布锁是一个最基础的工具类。这篇文章主要介绍了用MySQL实现一个分布式锁,本文通过实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • MySQL ifnull的嵌套使用说明

    MySQL ifnull的嵌套使用说明

    这篇文章主要介绍了MySQL ifnull的嵌套使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • MySQL数据同步出现Slave_IO_Running: No问题的解决

    MySQL数据同步出现Slave_IO_Running: No问题的解决

    本人最近工作中遇到了Slave_IO_Running:NO报错的情况,通过查找相关资料终于解决了,下面这篇文章主要给大家介绍了关于MySQL数据同步出现Slave_IO_Running: No问题的解决方法,需要的朋友可以参考下
    2023-05-05
  • windows安装MySQL到D盘的超详细步骤

    windows安装MySQL到D盘的超详细步骤

    MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐,下面这篇文章主要给大家介绍了关于windows安装MySQL到D盘的超详细步骤,需要的朋友可以参考下
    2023-03-03
  • MySQL触发器实现两表数据同步的代码详解

    MySQL触发器实现两表数据同步的代码详解

    在数据库应用中,我们经常需要对数据进行某些操作,并在操作完成后进行相应的处理,这时候,可以使用触发器来实现这些功能,MySQL提供了强大的触发器功能,本文将给大家详细介绍MySQL触发器实现两表数据同步,需要的朋友可以参考下
    2023-12-12
  • MySQL不用like+%实现模糊查询

    MySQL不用like+%实现模糊查询

    本文主要介绍了MySQL不用like+%实现模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论