zoukankan      html  css  js  c++  java
  • Mysql中update数据使用case when批量更改!

    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

  • 相关阅读:
    数据库chapter 4 数据库安全性
    数据库 chapter 2 关系数据库
    数据库 chapter 1 概论
    操作系统 chapter 11 I/O系统
    操作系统 chapter 12 死锁
    操作系统 chapter 7 8 存储模型
    聊一聊移动调试那些事儿
    获取当前日期和农历的js代码
    使用 CSS 媒体查询创建响应式网站
    大前端工具集
  • 原文地址:https://www.cnblogs.com/html55/p/12523346.html
Copyright © 2011-2022 走看看