MySQL 如何使用一条查询语句批量更新数据?

MySQL 如何使用一条查询语句批量更新数据?

在MySQL中,如果需要批量更新数据,可以使用UPDATE语句结合CASE语句进行操作。下面举例说明。

阅读更多:MySQL 教程

示例

假设有一张学生表student,其中有以下记录:

id name age gender
1 Tom 18 male
2 Jerry 19 male
3 Alice 20 female
4 Bob 21 male

现在需求是将年龄小于20岁的男生全部改成19岁,并将年龄大于20岁的女生全部改成21岁。

这个操作可以使用以下语句实现:

UPDATE student SET age = CASE 
    WHEN age < 20 AND gender = 'male' THEN 19
    WHEN age > 20 AND gender = 'female' THEN 21
    ELSE age
END,
gender = CASE 
    WHEN age < 20 AND gender = 'male' THEN 'male'
    WHEN age > 20 AND gender = 'female' THEN 'female'
    ELSE gender 
END;

执行上述语句后,学生表student的记录变成了以下样子:

id name age gender
1 Tom 19 male
2 Jerry 19 male
3 Alice 21 female
4 Bob 21 male

可以看到,年龄小于20岁的男生全部改成了19岁,并将年龄大于20岁的女生全部改成了21岁。

总结

使用UPDATE语句结合CASE语句可以方便地批量更新数据。在使用时要注意语法和逻辑的正确性,以免造成数据误操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程