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 $

运行结果:

原文地址:https://www.cnblogs.com/dongyaotou/p/12370686.html