mysql更新语句 update,更新的值来源于其他表
时间: 2023-08-04 20:36:28 浏览: 93
详细讲述MySQL中的子查询操作
在MySQL中,可以使用UPDATE语句从其他表中获取数据来更新当前表中的数据。这个过程称为表连接(JOIN)更新。
基本语法如下:
```
UPDATE 表1
JOIN 表2 ON 表1.列名 = 表2.列名
SET 表1.列名1 = 表2.列名1, 表1.列名2 = 表2.列名2, ...
WHERE 条件;
```
其中,JOIN子句用于连接两个表,ON子句用于指定连接条件,SET子句用于设置要更新的列和它们的新值,WHERE子句用于指定更新哪些行。
例如,假设我们有一个学生表student,其中包含学生的姓名、年龄和成绩等信息,还有一个班级表class,其中包含班级的名称和编号等信息,两个表之间存在关联关系,可以使用如下的update语句从班级表中获取学生所在班级的编号并更新到学生表中:
```
UPDATE student
JOIN class ON student.class_name = class.name
SET student.class_id = class.id
WHERE student.class_id IS NULL;
```
这条语句将会把学生表中班级编号为空的学生所在的班级编号更新为对应班级表中的编号。
阅读全文