mysql根据一个表的数据更新另一个表数据的SQL写法

SQL 中更新表数据的通用方法包括:使用 JOIN 语句,匹配两个表并更新目标表的指定列;使用子查询,获取源表中匹配行的值并更新目标表;使用 MERGE 语句(MySQL 8.0 及更高版本),合并两个表并按条件更新或插入数据。

mysql根据一个表的数据更新另一个表数据的SQL写法

根据一个表的数据更新另一个表数据的 SQL 写法

最近大家都在看

MySQL update 命令的详细用法

怎么查看mysql的锁表

mysql如何将字符串转换成数字

方法一:使用 JOIN 语句

UPDATE table2 SET column2 = table1.column1JOIN table1 ON table2.id = table1.id;

方法二:使用子查询

UPDATE table2SET column2 = (    SELECT column1    FROM table1    WHERE table2.id = table1.id);

方法三:使用 MERGE 语句(MySQL 8.0 及更高版本)

MERGE INTO table2 AS t2USING table1 AS t1ON t2.id = t1.idWHEN MATCHED THEN  UPDATE SET column2 = t1.column1;

示例

假设有以下两个表:

table1:包含具有 id 和 name 列的数据table2:包含具有 id 和 description 列的数据

要使用 table1 中的 name 更新 table2 中的 description,可以使用以下 SQL 查询:

-- 使用 JOIN 语句UPDATE table2 SET description = table1.nameJOIN table1 ON table2.id = table1.id;-- 使用子查询UPDATE table2SET description = (    SELECT name    FROM table1    WHERE table2.id = table1.id);-- 使用 MERGE 语句(MySQL 8.0 及更高版本)MERGE INTO table2 AS t2USING table1 AS t1ON t2.id = t1.idWHEN MATCHED THEN  UPDATE SET description = t1.name;

以上就是mysql根据一个表的数据更新另一个表数据的SQL写法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/62813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月11日 08:56:41
下一篇 2025年11月11日 08:59:26

相关推荐

发表回复

登录后才能评论
关注微信