MySQL数据库(29):流程结构 if while
Posted 彭世瑜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库(29):流程结构 if while相关的知识,希望对你有一定的参考价值。
流程结构 if while
if分支
两种基本用法
1、用在select查询中
基本语法
if(条件, 结果为真, 结果为假);
mysql> select * from my_student;
+----+-----------+----------+------+--------+
| id | name | class_id | age | gender |
+----+-----------+----------+------+--------+
| 1 | 刘备 | 1 | 18 | 2 |
| 2 | 李四 | 1 | 19 | 1 |
| 3 | 王五 | NULL | 20 | 2 |
| 4 | 张飞 | NULL | 21 | 1 |
| 5 | 关羽 | NULL | 22 | 2 |
| 6 | 曹操 | 1 | 20 | NULL |
| 10 | 司马懿 | 6 | 26 | 1 |
+----+-----------+----------+------+--------+
mysql> select *, if(age > 20, 符合, 不符合) as result from my_student;
+----+-----------+----------+------+--------+-----------+
| id | name | class_id | age | gender | result |
+----+-----------+----------+------+--------+-----------+
| 1 | 刘备 | 1 | 18 | 2 | 不符合 |
| 2 | 李四 | 1 | 19 | 1 | 不符合 |
| 3 | 王五 | NULL | 20 | 2 | 不符合 |
| 4 | 张飞 | NULL | 21 | 1 | 符合 |
| 5 | 关羽 | NULL | 22 | 2 | 符合 |
| 6 | 曹操 | 1 | 20 | NULL | 不符合 |
| 10 | 司马懿 | 6 | 26 | 1 | 符合 |
+----+-----------+----------+------+--------+-----------+
7 rows in set (0.00 sec)
2、用在复杂语句块中(函数、存储过程、触发器)
基本语法
if 条件表达式 then
满足条件要执行的语句;
end if;
3、复合语法
基本语法
if 条件表达式 then
满足条件要执行的语句;
else
不满足条件要执行的语句;
end if;
-- 如果有其他分支,嵌套使用
if 条件表达式 then
满足条件要执行的语句;
else
不满足条件要执行的语句;
if 条件表达式 then
满足条件要执行的语句;
else
不满足条件要执行的语句;
end if;
end if;
while循环
基本语法
while 条件 do
要循环执行的代码
end while;
结构标识符: 为结构命名
基本语法
标识名字: while 条件 do
要循环执行的代码
end while [标识名字];
mysql中没有continue 和break
- iterate 迭代 以下代码不执行,重新开始循环,相当于continue
- leave 离开 终止循环,相当于break
标识名字: while 条件 do
if 条件判断 then
循环控制
iterate / leave 标识名字;
end if;
循环体
end while [标识名字];
以上是关于MySQL数据库(29):流程结构 if while的主要内容,如果未能解决你的问题,请参考以下文章