MySQL循环结构

分类:while、loop、repeat

循环控制:iterate类似于continue、leave类似于break

三种循环都只能放在BEGIN 和 END里面

while循环语法

[标签:] while 循环条件 do
	循环体;
end while[标签];

案例1:批量插入,根据次数插入多条记录到admin表中

CREATE PROCEDURE pro_while1(IN insertCount INT)
BEGIN
	DECLARE i  INT DEFAULT 1;
	WHILE i<=insertCount DO
		INSERT INTO admin(username,password) VALUES(CONCAT('rose',i),'666');
		SET i=i+1;
	END WHILE;
END $

#调用存储过程
CALL pro_while1(10) $

案例2:添加leave,批量插入,根据次数插入多条记录到admin表中,当次数大于等于5则结束循环

CREATE PROCEDURE pro_while2(IN insertCount INT)
BEGIN
	DECLARE i  INT DEFAULT 1;
	a:WHILE i<=insertCount DO
		INSERT INTO admin(username,password) VALUES(CONCAT('xiaohua',i),'222');
		IF i>=5 THEN LEAVE a;
		END IF;
		SET i=i+1;
	END WHILE a;
END $

#调用存储过程
CALL pro_while2(5) $

案例3:添加iterate,批量插入,根据次数插入多条记录到admin表中,只插入偶数次

CREATE PROCEDURE pro_while3(IN insertCount INT)
BEGIN
	DECLARE i  INT DEFAULT 0;
	a:WHILE i<=insertCount DO
		SET i=i+1;
		IF MOD(I,2)!=0 THEN ITERATE a;
		END IF;
		INSERT INTO admin(username,password) VALUES(CONCAT('pancras',i),'222');
	END WHILE a;
END $

#调用存储过程
CALL pro_while3(10) $

loop循环语法

[标签:] loop
	循环体;
end loop[标签];

repeat循环语法

[标签:] repeat
	循环体;
until 结束循环的条件
end repeat[标签];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值