136-MySQL5.17 update更新[case when then end]的使用
我的版本是:MySQL5.17
先來看下這張表:
mysql> select * from test;
+----+---------+------+
| id | account | sell |
+----+---------+------+
| 1 | a | 12 |
| 2 | a | 12 |
+----+---------+------+
2 rows in set (0.00 sec)
1. 批量更新的SQL語句:
UPDATE 表名 SET 欄位1=CASE 欄位2
WHEN 欄位2值 THEN 欄位1值
WHEN 欄位2值 THEN 欄位1值
END
...
mysql> update test set sell=case
-> id
-> when 1 then 20
-> when 2 then 3
-> end
-> where id in (1,2);
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
這句sql的意思是,更新sell欄位,如果id=1 則sell的值為20,如果id=2 則sell的值為3。
再來看下執行結果:
mysql> select * from test;
+----+---------+------+
| id | account | sell |
+----+---------+------+
| 1 | a | 20 |
| 2 | a | 3 |
+----+---------+------+
2 rows in set (0.00 sec)
2. 如果要批量更新多個欄位則:
mysql> update test set sell=case id when 1 then 90 when 2 then 8 end,account=case id when 1 then 'Feng' when 2 then 'Scort' end;
Query OK, 2 rows affected (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 0
結果:
mysql> select * from test;
+----+---------+------+
| id | account | sell |
+----+---------+------+
| 1 | Feng | 90 |
| 2 | Scort | 8 |
+----+---------+------+
2 rows in set (0.00 sec)
相關文章
- SQL Server CASE WHEN ... THEN ... ELSE ... ENDSQLServer
- oracle plsql case when_end case小記OracleSQL
- SQL中的case when then else end用法SQL
- plsql_case when_end case學習小例SQL
- SQL中的case when then else end用法 【詳細】轉載SQL
- mysql case when then 使用MySql
- mysql中case when的使用MySql
- SQL中的CASE WHEN使用SQL
- ORACLE CASE WHEN 及 SELECT CASE WHEN的用法Oracle
- SQLServer使用case when中的order bySQLServer
- SQL Case when 的使用方法SQL
- 關於sql server case when ..else ..end結果型別的小議SQLServer型別
- Oracle Case WhenOracle
- SQL Case WhenSQL
- Oracle的order by case whenOracle
- MySQL 的CASE WHEN 語句使用說明MySql
- mysql中的case when 與if()MySql
- Case when 支援變數變數
- case when遇上null值Null
- sql中case when的小學SQL
- 案例:oracle中case when的用法Oracle
- Oracle case when改寫SQLOracleSQL
- ORACLE多欄位CASE WHENOracle
- PL/SQL Case when應用SQL
- sql case when, Exist ,group by ,聚合SQL
- sql server select case when的用法SQLServer
- plsql_case when_if else endifSQL
- oracle面試題[關於case when的用法]Oracle面試題
- where條件中使用case when來實現不同列的join
- sqlserver使用order by case when進行優先順序排序SQLServer排序
- Oracle vs PostgreSQL Develop(30) - Index&Case whenOracleSQLdevIndex
- MySQL更新資料,如何使用updateMySql
- SQL語句case when外用sum與count的區別SQL
- 【專案實戰】---SQLServer中case when的簡單用法SQLServer
- 更新、插入資料庫所使用的UPDATE() (轉)資料庫
- Django筆記二十三之case、when操作條件表示式搜尋、更新等操作Django筆記
- PLSQL條件(CASE WHEN)語句小應用SQL
- ORACLE SQL開發where子句之case-whenOracleSQL