1.分支
1.1 if函数
语法:if(条件,值1,值2)
特点:可以用在任何位置
1.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后面不需要)
特点:
可以用在任何位置
1.3 if elseif语句
语法:
if 情况1 then 语句1;
elseif 情况2 then 语句2;
...
else 语句n;
end if;
特点:
只能用在begin end中!!!!!!!!!!!!!!!
三者比较:
应用场合
if函数 简单双分支
case结构 等值判断 的多分支
if结构 区间判断 的多分支
2. 循环
语法:
【标签:】WHILE 循环条件 DO
循环体
END WHILE 【标签】;
#存储过程每次最多实现20次的循环插入
create procedure insertadmin(in count int)
begin
declare i int default 1;
a:while i<=count do
insert into admin(username,password) value(concat("zhaoxr",i),6666);
if i>20 then leave a;
end if;
set i=i+1;
end while a;
end;
call insertadmin(100);
特点:
只能放在BEGIN END里面
如果要搭配leave跳转语句,需要使用标签,否则可以不用标签
leave类似于java中的break语句,跳出所在循环!!!