欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MYSQL如何通过一张表更新另外一张表?

程序员文章站 2022-03-03 23:02:13
1、背景说明 很多时候我们需要通过一张中间表的数据去更新另外一张表,而不仅仅是通过固定数值去更新,尤其是当数据量很大的时候,简单的复制粘贴就不大可行了。 2、MYSQL版本 如下图所示: 3、表示例 Student表: 中间表Temp: 我们需要用中间表的name、sex、age字段来更新Stude ......

1、背景说明

很多时候我们需要通过一张中间表的数据去更新另外一张表,而不仅仅是通过固定数值去更新,尤其是当数据量很大的时候,简单的复制粘贴就不大可行了。

2、mysql版本

select version() as mysql版本;

如下图所示:

MYSQL如何通过一张表更新另外一张表?

3、表示例

student表:

MYSQL如何通过一张表更新另外一张表?

中间表temp:

MYSQL如何通过一张表更新另外一张表?

我们需要用中间表的name、sex、age字段来更新student表的对应字段

4、更新操作

update feifei.student s, feifei.temp t
set s.name = t.name,
    s.sex = t.sex,
    s.age = t.age
where s.student_id = t.student_id;

或者可以这样

update feifei.student s
inner join feifei.temp t on t.student_id=s.student_id
set s.name=t.name,
    s.age=t.age,
    s.sex=t.sex;

最终更新成功

MYSQL如何通过一张表更新另外一张表?