顺序结构:程序从上往下一次执行
分支结构:程序从两条或多条路径中选择一条去执行
循环结构:程序在满足一定条件的基础上,重复执行一段代码
功能:实现简单的双分支
语法:
if (表达式1,表达式2,表达式3)
执行顺序:
应用:任何地方
情况1:类似Java中的switch语句,一般用于实现的等值判断
情况2:类似Java中的多重if语句,一般用于实现区间判断
//情况一:类似于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后面不需要)
特点:
1.
可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,begin end中或begin end的外面
可以作为独立的语句去使用,只能放在begin end中
2.
如果when中的值或条件成立,则执行then后面的语句,并且结束case
如果都不满足,则执行else中的语句和值
3.
else可以省略,如果else省略了,并所有的when条件不符合,则返回null
创建存储过程,根据传入的成绩,来显示等级,比如传入的成绩:90-100A,80-90B,60-80C,否则,显示D
功能:实现多重分支
语法:
if 情况1 then 语句1;
elseif 情况2 then 语句2;
...
【else 语句n;】
end if;
特点:
只能用在begin end中!!!!!!!!!!!!!!!
创建存储过程,根据传入的成绩,来显示等级,比如传入的成绩:90-100返回A,80-90返回B,60-80返回C,否则,返回D
三者比较:
应用场合
if函数 简单双分支
case结构 等值判断 的多分支
if结构 区间判断 的多分支
分类:while、loop、repeat
循环控制:
iterate类似于continue,继续,结束本次循环,继续下一次
leave类似于break,跳出,结束当前所在的循环
语法:
【标签:】WHILE 循环条件 DO
循环体;
END WHILE 【标签】;
特点:
只能放在BEGIN END里面
如果要搭配leave跳转语句,需要使用标签,否则可以不用标签
leave类似于java中的break语句,跳出所在循环!!!
【标签:】LOOP
循环体;
END LOOP 【标签】;
可以模拟简单的死循环
【标签:】repeat
循环体;
until 结束循环的条件
end repeat【标签】;
//没有添加循环控制语句
案例:批量插入,根据次数插入到admin表中多条记录