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语句,跳出所在循环!!!