MySQL 中的if-else
时间: 2024-11-20 21:21:41 浏览: 4
mysql-connector-java-8.0.18.jar.7z
MySQL本身并不直接支持`if-else`结构,因为它是过程化查询语言而不是像某些编程语言那样的流程控制结构。但是,你可以通过使用`CASE`语句来模拟类似的功能。`CASE`语句允许你在单个语句中根据某个条件执行不同的SQL操作。
例如,如果你想在给定条件下选择更新还是插入数据,可以这样做:
```sql
UPDATE students
SET score = score + 5
WHERE id = 123
CASE
WHEN EXISTS (SELECT * FROM students WHERE id = 123) THEN 'update'
ELSE 'insert new record'
END;
-- 或者使用两个独立的语句,分别对应if-then和if-not
BEGIN
IF EXISTS (SELECT * FROM students WHERE id = 123) THEN
UPDATE students SET score = score + 5 WHERE id = 123;
ELSE
INSERT INTO students (id, score) VALUES (123, 0); -- 假设初始分是0
END IF;
```
在这里,`CASE`语句用于检查是否存在该学生,然后执行相应的操作。
阅读全文