MySQL 如何在使用UPDATE查询时使用MySQL CASE语句
要在使用UPDATE查询时使用MySQL CASE语句,可以使用CASE语句。让我们首先创建一个表 –
mysql> create table DemoTable
(
UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserScore int
);
Query OK, 0 rows affected (0.29 sec)
Mysql
使用插入命令将一些记录插入该表 –
mysql> insert into DemoTable(UserScore) values(100);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable(UserScore) values(110);
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable(UserScore) values(120);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable(UserScore) values(200);
Query OK, 1 row affected (0.05 sec)
mysql> insert into DemoTable(UserScore) values(230);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(UserScore) values(250);
Query OK, 1 row affected (0.03 sec)
mysql> insert into DemoTable(UserScore) values(270);
Query OK, 1 row affected (0.06 sec)
Mysql
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable;
Mysql
这将产生以下输出 –
+--------+-----------+
| UserId | UserScore |
+--------+-----------+
| 1 | 100 |
| 2 | 110 |
| 3 | 120 |
| 4 | 200 |
| 5 | 230 |
| 6 | 250 |
| 7 | 270 |
+--------+-----------+
7 rows in set (0.00 sec)
Mysql
以下是在使用UPDATE查询时使用CASE语句的查询 –
mysql> update DemoTable
set UserScore =
CASE
WHEN UserScore BETWEEN 100 AND 120
THEN UserScore + 5
WHEN UserScore BETWEEN 130 AND 230
THEN UserScore +10
WHEN UserScore >=250
THEN UserScore * 5
ELSE UserScore
END;
Query OK, 7 rows affected (0.06 sec)
Rows matched: 7 Changed: 7 Warnings: 0
Mysql
现在,您可以再次从表中显示所有记录 –
mysql> select *from DemoTable;
Mysql
这将产生以下输出 –
+--------+-----------+
| UserId | UserScore |
+--------+-----------+
| 1 | 105 |
| 2 | 115 |
| 3 | 125 |
| 4 | 210 |
| 5 | 240 |
| 6 | 1250 |
| 7 | 1350 |
+--------+-----------+
7 rows in set (0.00 sec)
Mysql
阅读更多:MySQL 教程