MySQL流程控制

分支

if

1、if(表达式,表达式,表达式):表达式1成立,返回1的值,否则返回表达式2的值;
例:SELECT IF(result>0,‘成功’,‘失败’);

2、应用于begin END中
IF 条件1 then 语句;
ELSEIF 条件2 then 语句2=;
end if;

case
#类似switch
CASE 表达式
WHEN 值1 THEN 语句1;
WHEN 值1 THEN 语句1;
WHEN 值1 THEN 语句1;
ELSE 语句;
END CASE;

#类似多重if
CASE 
WHEN 值1 THEN 语句1;
WHEN 值1 THEN 语句1;
WHEN 值1 THEN 语句1;
ELSE 语句;
END CASE;

循环

分类

WHILE、LOOP、REPEAT

控制

iterate结束本次循环,进行下一次。leave类似于 break跳出结束循环

语法
#while语法
WHILE 循环条件 DO
	循环体;
END WHILE;

#LOOP语法
[biaoqian:] LOOP
	循环体;
END LOOP [biaoqian];

#repeat语法
[biaoqian] REPEAT
	xunhuanti;
UNTIL xunhuan 结束条件;
end REPEAT [biaoqian];
结合while,iterate和leave实例
#循环1,利用leave
CREATE PROCEDURE test_while (in count INT)
BEGIN
	DECLARE i int DEFAULT 1;
	a:WHILE i<count 
			DO INSERT auto_test VALUES((count+i),'liming');
			IF i>20 THEN LEAVE a;
			END IF;
			SET i=i+1;
     END WHILE a;
	
END $

#循环2,利用iterate
CREATE PROCEDURE test_while2 (in count INT)
BEGIN
	DECLARE i int DEFAULT 0;
	a:WHILE i<count DO
			SET i=i+1;	
			IF MOD(i,2)!=0 THEN ITERATE a;
			END IF;
			INSERT auto_test VALUES((20+i),'liming');
     END WHILE a;
	
END $
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值