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

1、背景说明

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

2、MYSQL版本

SELECT VERSION() AS MYSQL版本;

如下图所示:

1081575-20190326111339217-1706062652.png

3、表示例

Student表:

1081575-20190326111343990-1696342727.png

中间表Temp:

1081575-20190326111351316-1346890982.png

我们需要用中间表的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;

最终更新成功

1081575-20190326111414228-1706538089.png

转载于:https://www.cnblogs.com/lukefan/p/10598928.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值