欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL循环结构

程序员文章站 2022-05-16 23:20:11
分类:while、loop、repeat循环控制:iterate类似于continue、leave类似于break三种循环都只能放在BEGIN 和 END里面while循环语法[标签:] while 循环条件 do循环体;end while[标签];案例1:批量插入,根据次数插入多条记录到admin表中CREATE PROCEDURE pro_while1(IN insertCount INT)BEGINDECLARE i INT DEFAULT 1;WHILE i<=...

分类: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[标签];

本文地址:https://blog.csdn.net/weixin_44237240/article/details/109005029

相关标签: 数据库 mysql