首页 > 数据库技术 > 详细

Mysql中update数据使用case when批量更改!

时间:2020-03-19 12:47:51      阅读:58      评论:0      收藏:0      [点我收藏+]

1.先创建测试表和数据

技术分享图片
 1 CREATE TABLE graduates (  
 2   name varchar(255) ,  
 3   income int4(255)   
 4 );  
 5 
 6 INSERT INTO graduates VALUES (桑普森, 400000);  
 7 INSERT INTO graduates VALUES (迈克, 30000);  
 8 INSERT INTO graduates VALUES (怀特, 20000);  
 9 INSERT INTO graduates VALUES (阿诺德, 20000);  
10 INSERT INTO graduates VALUES (史密斯, 20000);  
11 INSERT INTO graduates VALUES (劳伦斯, 15000);  
12 INSERT INTO graduates VALUES (哈德逊, 15000);  
13 INSERT INTO graduates VALUES (肯特, 10000);  
14 INSERT INTO graduates VALUES (贝克, 10000);  
15 INSERT INTO graduates VALUES (斯科特, 10000); 
View Code

测试表很简单,就是名字和工资的一个表格

2..如果我们想把   工资20000的工资减半,工资为15000的加500,工资为其他数目的不变,使用case when一条SQL就可以完成,而且速度还非常快。

UPDATE graduates 
SET income =
CASE
 WHEN income = 20000 THEN
 income * 0.5 
 WHEN income = 15000 THEN
 income + 500 
 ELSE income 
END;

case开始,when 条件1 then 某值1,when 条件2 then 某值2,......else 某值n,end结束。

ELSE income,非常重要,如果不指定else的话,其他不符合条件的人工资会被置为null,如下图。

技术分享图片

 

 

 

转载自:https://blog.csdn.net/nextaction/article/details/80453843

Mysql中update数据使用case when批量更改!

原文:https://www.cnblogs.com/html55/p/12523346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!