mysql批量更新update语句
时间: 2023-07-25 12:42:47 浏览: 126
可以使用以下语法进行 MySQL 批量更新:
```
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
```
其中 `table_name` 为要更新的表名,`column1`、`column2` 等为要更新的列名,`value1`、`value2` 等为要更新的值,`WHERE` 后面的 `condition` 为更新的条件。
例如,要将表中所有 `age` 列大于等于 18 的记录的 `gender` 列更新为 `male`,可以使用以下语句:
```
UPDATE table_name SET gender = 'male' WHERE age >= 18;
```
如果要更新多个列,可以在 `SET` 后面添加多个列名和值,用逗号隔开,例如:
```
UPDATE table_name SET column1 = value1, column2 = value2, column3 = value3 WHERE condition;
```
相关问题
写一个mysql批量更新update语句
好的,假设有一个学生表 student,其中有 id、name、age、class 这四个字段,现在需要将所有 age 大于 18 岁的学生的 class 字段更新为 '高三',可以使用以下 MySQL 批量更新语句:
```
UPDATE student SET class = '高三' WHERE age > 18;
```
这条语句会将 student 表中所有 age 大于 18 岁的学生的 class 字段更新为 '高三'。你也可以根据实际需求添加其他更新的字段和条件。
mysql批量更新复合主键update语句
可以使用以下语法进行mysql批量更新复合主键:
```
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE (column1, column2) IN ((value1_1, value2_1), (value1_2, value2_2), ...);
```
其中,table_name为要更新的表名,column1、column2为复合主键的列名,value1、value2为要更新的值,(value1_1, value2_1), (value1_2, value2_2)等为要更新的复合主键值。注意,复合主键值需要用括号括起来,并用逗号分隔。
示例:
假设有一个student表,它的复合主键是(id, name),要将id为1且name为'张三'的学生的年龄改为18,id为2且name为'李四'的学生的年龄改为20,可以使用以下语句:
```
UPDATE student
SET age = CASE WHEN id = 1 AND name = '张三' THEN 18
WHEN id = 2 AND name = '李四' THEN 20
END
WHERE (id, name) IN ((1, '张三'), (2, '李四'));
```
注意,这里使用了CASE语句来根据复合主键值来更新对应的列。
阅读全文