MySQL数据库-----流程控制的使用

流程控制的使用

  • 流程控制语句 用于根据条件 控制语句的执行。
  • MySQL用于构造控制流程的语句有:if、case、loop、while、leave、iterate、repeat。
if语句
  • if条件判断,包含多个条件判断。
  • 语法格式如下:
# if...else
if 条件
    then 语句1;
    else 语句2;
end if;

# if...elseif...else
if 条件1
    then 语句1;
    elseif 条件2;
        then 语句2;
        (else 语句3;)
    (else 语句4;)
end if;
case语句
  • case也是进行条件判断的语句
  • 第一种语法格式如下
case 条件判断表达式
    when 条件表达式可能的值1 then 语句1;
    when 条件表达式可能的值2 then 语句2;
    ......
    else 语句n;
end case;
  • 示例
case value
    when 1 then select 'value is 1';
    [when 2 then select 'value is 2';]
    [else select 'value is not 1 or 2';]
end case;
  • 第二种语法格式如下
case
    when 条件判断语句1 then 语句1;
    [when 条件判断语句1 then 语句1;]
    [else 语句3;]
end case;
  • 示例
case 
    when value is null then select 'value is null';
    when value > 0 then select 'value is gteater than 0';
    when value < 0 then select 'value is less than 0';
    else select 'value is 0';
end case;
loop循环语句
  • loop循环语句用来重复执行某些语句。
  • loop只是创建循环操作过程,并不进行条件判断
  • **loop内的语句一直重复执行直到循环被退出,跳出循环过程。
  • 跳出循环用leave
  • 基本语法格式如下
[loop语句的标注名称:] loop
    循环语句;
    end loop [loop语句的标注]
  • 示例:使用loop进行循环操作,id小于等于10之前,将重复执行循环过程。
delect id in defult 0;
add_loop: loop
    set id = id + 1;
    if id >= 10 then leave add_loop;
    end if;
end loop add_loop;
leave语句
  • leave语句用来跳出任何被标注的流程控制构造
  • 基本语法格式如下:
leava 循环标志;
  • 上述loop语句中的示例中含有leave语句的用法。
iterate
  • iterate将执行顺序转到语句的开头
    • 类似于C语言循环中的continue
  • **iterate语句可以用在loop、while、repeat语句内。
  • 基本语法格式如下
iterate 循环标志;
repeat语句
  • repeat语句创建一个带判断条件的循环过程,每次语句执行结束后都会对条件表达式进行判断
  • 若为真,循环结束,否则继续循环操作(与C语言中的do…while条件判断相反
  • 先执行在判断(类似于C语言中的do…while)
  • 基本语法格式
[repeat 语句的标注名称:] repeat
    循环语句;
until 循环条件表达式;
end repeat [repeat 语句的标注名称];
while语句
  • while语句创建一个带条件判断的循环
  • 与repeat的不用是:while语句在执行之前先对指定的条件表达式进行判断。
    • 若为真,继续执行循环,否则退出循环。
  • 基本语法格式如下
[while 语句的标注名称:] while 循环条件表达式
    循环语句;
end while [while 语句的标注名称];
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值