MySQL数据库(29):流程结构 if while

举报
彭世瑜 发表于 2022/06/14 22:15:28 2022/06/14
【摘要】 流程结构 if while if分支 两种基本用法 1、用在select查询中 基本语法 if(条件, 结果为真, 结果为假); 1 mysql> select * from my_st...

流程结构 if while

if分支

两种基本用法

1、用在select查询中

基本语法

if(条件, 结果为真, 结果为假);

  
 
  • 1
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)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

2、用在复杂语句块中(函数、存储过程、触发器)

基本语法

if 条件表达式 then
    满足条件要执行的语句;
end if;

  
 
  • 1
  • 2
  • 3

3、复合语法

基本语法

if 条件表达式 then
    满足条件要执行的语句;
else
    不满足条件要执行的语句;
end if;

-- 如果有其他分支,嵌套使用
if 条件表达式 then
    满足条件要执行的语句;
else
    不满足条件要执行的语句;
    if 条件表达式 then
        满足条件要执行的语句;
    else
        不满足条件要执行的语句;
    end if;
end if;

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

while循环

基本语法

while 条件 do
    要循环执行的代码
end while;

  
 
  • 1
  • 2
  • 3

结构标识符: 为结构命名

基本语法

标识名字: while 条件 do
    要循环执行的代码
end while [标识名字];

  
 
  • 1
  • 2
  • 3

mysql中没有continue 和break

  • iterate 迭代 以下代码不执行,重新开始循环,相当于continue
  • leave 离开 终止循环,相当于break
标识名字: while 条件 do
    if 条件判断 then
        循环控制
        iterate / leave 标识名字;
    end if;

    循环体

end while [标识名字];

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/125268602

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。