mysql update 条件_mysql update语句中 条件控制case when...then...else...end
时间: 2023-07-24 11:05:41 浏览: 111
MySQL的UPDATE语句可以使用CASE语句来指定条件控制。CASE语句提供了一种在UPDATE语句中使用条件语句的方式。
下面是一个使用CASE语句的MySQL UPDATE语句的例子:
```
UPDATE mytable
SET column1 = CASE
WHEN column2 = 'value1' THEN 'newvalue1'
WHEN column2 = 'value2' THEN 'newvalue2'
ELSE column1
END
WHERE column3 = 'somevalue';
```
这个例子中,我们更新了一个名为 `mytable` 的表,将 `column1` 的值更改为根据 `column2` 的值计算出的新值。如果 `column2` 的值等于 `value1`,则将 `column1` 的值更改为 `newvalue1`,如果 `column2` 的值等于 `value2`,则将 `column1` 的值更改为 `newvalue2`。如果 `column2` 的值不等于 `value1` 或 `value2`,则保留 `column1` 的当前值。UPDATE语句只更新 `column3` 的值等于 `somevalue` 的行。
使用CASE语句可以提供更复杂的条件控制,以便根据需要更新表中的数据。
相关问题
mysql case when then else end用法
MySQL中的CASE语句用于在查询中根据条件选择不同的结果。它可以有多个WHEN子句和一个可选的ELSE子句。
基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在上述语法中,条件(condition)是要满足的条件,结果(result)是与满足条件时返回的结果。
以下是一个示例,演示如何使用CASE语句:
```
SELECT name, age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 40 THEN '青年'
WHEN age >= 40 AND age < 60 THEN '中年'
ELSE '老年'
END AS age_group
FROM users;
```
上述查询将根据用户的年龄将其归类为不同的年龄组,并返回相应的结果。
CASE语句也可以用于更新操作,例如:
```
UPDATE users
SET status =
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 40 THEN '青年'
WHEN age >= 40 AND age < 60 THEN '中年'
ELSE '老年'
END;
```
上述更新操作将根据用户的年龄将其状态更新为相应的值。
希望以上解答对您有帮助!如有任何问题,请随时提问。
mysql中case when else end
MySQL 中的 CASE-WHEN-ELSE-END 是一种条件选择语句,用于在多个可能的条件之间进行选择。其基本语法格式为:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
其中,condition1, condition2 等为条件表达式,result1, result2 等为结果表达式。当条件为真时,返回对应的结果。如果所有条件都不为真,则返回 ELSE 后面的结果。
CASE-WHEN-ELSE-END 可以用于 SELECT, UPDATE, DELETE等语句。
示例:
```
SELECT
name,
CASE
WHEN score > 90 THEN 'A'
WHEN score > 80 THEN 'B'
ELSE 'C'
END AS grade
FROM students;
```
上面这个示例中,我们选择了表 students 中的 name 和 score 列。然后,我们使用了 CASE-WHEN-ELSE-END 语句来对 score 列进行分级,并将结果列命名为 grade。
阅读全文