您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

bubuko 2022/1/25 20:04:25 mysql 字数 6928 阅读 779 来源 http://www.bubuko.com/infolist-5-1.html

1.先创建测试表和数据 1 CREATE TABLE graduates ( 2 name varchar(255) , 3 income int4(255) 4 ); 5 6 INSERT INTO graduates VALUES ('桑普森', '400000'); 7 INSERT INTO ...

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


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶