mysql依据一个表的数据下载另一个表数据的SQL书写-mysql实例教程

首页 2024-06-26 11:20:00

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;
登陆账号拷贝

以上就是关于mysql依据一个表的数据下载另一个表数据的SQL书写的详细内容,大量欢迎关注php中文网站其他类似文章!

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道