MySQL之流程控制结构

流程控制结构

  顺序结构:程序从上往下依次执行。

  分支结构:程序两条或多条路径选择一条去执行。

  循环结构:程序在满足一定条件的基础上,重复执行一段代码。

分支结构

  1.if函数

    语法:

    if(条件,值1,值2) 

  特点:

    实现双分支,可以用在任何位置。

  应用场景:

    简单双分支。

  2.case结构

    语法:

    情况一:类似于switch

case 表达式

when 值1 then 结果1或语句1(如果是语句,需要加分号)

 

when 值2 then 结果2或语句2(如果是语句,需要加分号)

...

else 结果n或语句n(如果是语句,需要加分号)

end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)

    情况二:类似于多重if

case

when 条件1 then 结果1或语句1(如果是语句,需要加分号)

when 条件2 then 结果2或语句2(如果是语句,需要加分号)

...

else 结果n或语句n(如果是语句,需要加分号)

end 【case】(如果是放在begin end中需要加上case,如果放在select后面不需要)   

    特点:

      可以用在任何位置。

    应用场景:

      等值判断的多分支。

  3.if结构

    语法:

if 情况1 then 语句1;

elseif 情况2 then 语句2;

...

else 语句n;

end if;

    特点:

      类似于多重if,只能用在begin end中。

    应用场景:

      区间判断的多分支。

循环结构

语法:

【标签:】WHILE 循环条件 DO

  循环体

END WHILE 【标签】;

特点:

只能放在BEGIN END里面。

如果要搭配leave跳转语句,需要使用标签,否则可以不用标签。

leave类似于java中的break语句,跳出所在循环!!!