1. 前言
针对MySQL的流程控制语句主要有这三类 :
- 条件判断语句 : IF语句和CASE语句.
- 循环语句 : LOOP, WHILE, REPEAT语句.
- 跳转语句 : LEAVE与ITERATE语句.
2. 分支结构IF
(1). 语法结构
IF 表达式1 THEN 操作1
[ELSEIF 表达式2 THEN 操作2]……
[ELSE 操作N]END IF
类似Java中的if elseif else语句.
(2). 特点
- 不同表达式对应不同的操作.
- 必须使用在存储函数/存储过程中的BEGIN ... END语块中. 不能直接在普通的SQL查询语句中使用.
3. 分支结构之CASE
(1). 语法结构
情况一 :
类似Java的Switch(表达式) case.
CASE 表达式
WHEN 值1 THEN 结果1或语句1(如果是语句,需要加分号)
WHEN 值2 THEN 结果2或语句2(如果是语句,需要加分号)
...
ELSE 结果n或语句n(如果是语句,需要加分号)
END [case](如果是放在begin end中需要加上case,如果放在select后面不需要)
情况2 :
类似java中多层if.
CASE
WHEN 条件1 THEN 结果1或语句1(如果是语句,需要加分号)
WHEN 条件2 THEN 结果2或语句2(如果是语句,需要加分号)
...
ELSE 结果n或语句n(如果是语句,需要加分号)
END [case];(如果是放在begin end中需要加上case,如果放在select后面不需要)
</