sql 中更新表数据的通用方法包括:使用 join 语句,匹配两个表并更新目标表的指定列;使用子查询,获取源表中匹配行的值并更新目标表;使用 merge 语句(mysql 8.0 及更高版本),合并两个表并按条件更新或插入数据。
根据一个表的数据更新另一个表数据的 SQL 写法
方法一:使用 JOIN 语句
UPDATE table2 SET column2 = table1.column1 JOIN table1 ON table2.id = table1.id;
方法二:使用子查询
UPDATE table2 SET column2 = ( SELECT column1 FROM table1 WHERE table2.id = table1.id );
方法三:使用 MERGE 语句(MySQL 8.0 及更高版本)
MERGE INTO table2 AS t2 USING table1 AS t1 ON t2.id = t1.id WHEN MATCHED THEN UPDATE SET column2 = t1.column1;
示例
假设有以下两个表:
- table1:包含具有 id 和 name 列的数据
- table2:包含具有 id 和 description 列的数据
要使用 table1 中的 name 更新 table2 中的 description,可以使用以下 SQL 查询:
-- 使用 JOIN 语句 UPDATE table2 SET description = table1.name JOIN table1 ON table2.id = table1.id; -- 使用子查询 UPDATE table2 SET description = ( SELECT name FROM table1 WHERE table2.id = table1.id ); -- 使用 MERGE 语句(MySQL 8.0 及更高版本) MERGE INTO table2 AS t2 USING table1 AS t1 ON t2.id = t1.id WHEN MATCHED THEN UPDATE SET description = t1.name;
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » mysql根据一个表的数据更新另一个表数据的SQL写法
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » mysql根据一个表的数据更新另一个表数据的SQL写法