ZVVQ代理分享网

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

作者:zvvq博客网
导读sql 中更新表数据的通用方法包括:使用 join 语句,匹配两个表并更新目标表的指定列;使用子查询,获取源表中匹配行的值并更新目标表;使用 merge 语句(mysql 8.0 及更高版本),合并

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

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

方法一:使用 JOIN 语句

UPDATE tableSET column= table.column

JOIN table ON table.id = table.id;

方法二:使用子查询

UPDATE table

SET column= (

SELECT column

FROM table

WHERE table.id = table.id

);

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

MERGE INTO tableAS t

USING table AS t

ON t.id = t.id

WHEN MATCHED THEN

UPDATE SET column= t.column;

示例

假设有以下两个表:

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

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

0

-- 使用 JOIN 语句

UPDATE tableSET description = table.name

JOIN table ON table.id = table.id;

-- 使用子查询

UPDATE table

SET description = (

SELECT name

FROM table

WHERE table.id = table.id

);

-- 使用 MERGE 语句(MySQL .0 及更高版本)

MERGE INTO tableAS t

USING table AS t

ON t.id = t.id

WHEN MATCHED THEN

UPDATE SET description = t.name;

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