我的编程空间,编程开发者的网络收藏夹
学习永远不晚

While、Loop和Repeat三种循环语句有什么区别

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

While、Loop和Repeat三种循环语句有什么区别

这篇文章主要介绍While、Loop和Repeat三种循环语句有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

相同点:不可单独使用,主要用于存储过程和函数FUNCTION中。区别:WHILE先判断,后执行;满足条件才执行。REPEAT和LOOP先执行,后判断;满足条件就结束循环。当条件为false时,REPEAT也能执行一次;其他两个语句无法执行。

一、MySQL循环概述

MySQL中有三种循环,分别是 WHILE , REPEAT , LOOP (据说还有 goto),不可单独使用,主要用于 存储过程 PROCEDURE 和 函数 FUNCTION 中。

二、WHILE 循环

1、语法: WHILE condition DO doSomething END WHILE ;

2、说明: condition 条件满足情况下,则执行循环体内容,不满足,则结束循环。(如:2>1,满足;1<2,不满足。) --- 先判断,后执行。

3、示例: 创建 while 循环的存储过程 pro_while

DROP PROCEDURE IF EXISTS pro_while ;
CREATE PROCEDURE pro_while()
BEGIN
	 DECLARE  sum INT DEFAULT 0 ;
	 WHILE sum < 100 DO
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,''),CONCAT('while',sum) , sum);
		SET sum = sum + 1;
   	END WHILE ;
END;

4、调用存储过程: CALL pro_while();

相关推荐《mysql视频教程》

三、REPEAT 循环

1、语法: REPEAT doSomething UNTIL condition END REPEAT ;

2、说明:doSomething 先执行相关操作 ,再判断是否满足条件,满足,结束循环。(和WHILE循环相反) --- 先执行,后判断。

3、示例:创建 repeat 循环的函数 fun_repeat

DROP FUNCTION IF EXISTS fun_repeat ;
CREATE FUNCTION fun_repeat() RETURNS INT
BEGIN
	DECLARE  sum INT DEFAULT 1000 ;
		REPEAT 
			INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
			VALUES (CONCAT(sum,''),CONCAT('repeat',sum) , sum);
			SET sum = sum + 1;	
		UNTIL sum > 1100 END REPEAT ; -- 满足条件结束循环
	RETURN 1;
END;

4、执行函数: SELECT fun_repeat();

四、LOOP 循环

1、语法:

loop_name : LOOP
    IF condition THEN
        LEAVE loop_name ;
    END IF;
    doSomething
END LOOP;

2、说明:

  • loop_name 为循环名字,自定义,不可用关键字。

    • doSomething 执行的相关操作。

    • condition 满足条件,则结束循环。--- 先判断,后执行。

3、示例:创建 loop 循环的存储过程 pro_loop

DROP PROCEDURE IF EXISTS pro_loop ;
CREATE PROCEDURE pro_loop()
BEGIN
	DECLARE sum int DEFAULT 10000 ;
	loop_sums : LOOP -- 【开始】loop 名字,自定义
		IF sum > 10100 THEN
			LEAVE loop_sums ; -- 满足条件,则结束循环
		END IF; 
		INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) 
		VALUES (CONCAT(sum,''),CONCAT('loop',sum) , sum);
		SET sum = sum + 1;	
	END LOOP ;  -- 【结束】
END ;

4、调用存储过程: CALL pro_loop();

五、总结

1、WHILE 循环,先判断,后执行。满足条件,执行,执行循环。

2、REPEAT 循环,先执行,后判断。满足条件,不执行,结束循环。

3、LOOP 循环,先执行,后判断。满足条件,不执行,结束循环。

4、当条件为false时,REPEAT循环也能执行一次,类似于 java中的 do {} while (condition); 循环; 而 WHILE、LOOP 循环无法执行。

以上是“While、Loop和Repeat三种循环语句有什么区别”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

While、Loop和Repeat三种循环语句有什么区别

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录