Mysql 循环结构 while、loop、repeat的使用

                  Mysql 循环结构 while、loop、repeat的使用

分类:while、loop、repeat
        循环控制:
            iterate:类似于continue,继续,结束本次循环,继续等下一次
            legel:类似于break 跳出,结束当前所有的循环

       1、while
            语法:     
                    while 循环条件 do
                        循环体;
                    end while 标签;
        2、loop
            语法:
                    标签 loop
                    循环体;
                    end loop 标签;
                可以用来模拟简单的死循环
        3、repeat
            语法:
                    标签 repeat
                    循环体;
                    until 结束循环的条件
                    end repeat ;

1、while的使用

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

DELIMITER $
	CREATE PROCEDURE pro_while(in insertCount int)
	BEGIN
		declare i int default 1;
		while i<=insertCount do	
				insert into admin(username,`password`) values(concat('test',i),'123456');
				set i=i+1;
		end while;
	END $
DELIMITER ;

    调用:call pro_while(20);

2、while leave使用(类似于break)

案例2:批量插入,根据次数插入到admin中,如果次数>20次,测停止

DELIMITER $
		CREATE PROCEDURE pro_while2(IN insertCount INT)
		BEGIN
			DECLARE i INT DEFAULT 1;
			a:WHILE i<insertCount DO
				INSERT into admin(username,`password`) VALUE (concat('test1',i),'234343');
				IF i>=20 THEN	LEAVE a;
				END IF; #使用了if需要结尾
				SET i=i+1;
			END WHILE a; #使用了while 需要结尾
		END $
DELIMITER ;

调用:call pro_while2(204);

3、while iterate(相当于continue)

DELIMITER $
	CREATE PROCEDURE pro_whileIterate(IN insertCount INT)
	BEGIN
			DECLARE i INT DEFAULT 0;
			a:WHILE i<insertCount DO
				SET i=i+1;
				-- if i%2==0  THEN iterate a;
				IF MOD(i,2)!=0 THEN ITERATE a;
				END IF;
				INSERT INTO admin(username,`password`) values (concat('test1',i),'234343');
			END WHILE a;
		END $
DELIMITER ;

调用:call pro_whileIterate(100);

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值