MySQL---循环结构演练
演示案例:
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 $
运行结果:
这样就像数据库中插入了100条记录了
2.添加leave语句
案例:批量插入,根据次数插入到admin表中多条记录,如果次数>20则停止
注意:当中间要跳出的时候,就必须使用标签进行控制
create PROCEDURE test_while1(in insertCount int) begin DECLARE i int DEFAULT 1; a:while i<insertCount do insert into admin(username,`PASSWORD`) VALUES(concat('xiao',i),'0000'); if i>20 then leave a; end if; set i =i+1; end while a; end $
运行结果:
#3.添加iterate语句
#案例:批量插入,根据次数插入到admin表中多条记录,直插入偶数次
create PROCEDURE test_while2(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('wang',i),'0000'); end while a; end $
运行结果: