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

本教程操作环境:windows7系统、mysql8版、Dell G3电脑。
一、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 DOINSERT 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 循环
GAIPPT
AI PPT制作和美化神器
1215 查看详情
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 INTBEGINDECLARE 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; doSomethingEND LOOP;
2、说明:
loop_name 为循环名字,自定义,不可用关键字。doSomething 执行的相关操作。condition 满足条件,则结束循环。— 先判断,后执行。
3、示例:创建 loop 循环的存储过程 pro_loop
DROP PROCEDURE IF EXISTS pro_loop ;CREATE PROCEDURE pro_loop()BEGINDECLARE sum int DEFAULT 10000 ;loop_sums : LOOP -- 【开始】loop 名字,自定义IF sum > 10100 THENLEAVE 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三种循环语句有什么异同?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/765790.html
微信扫一扫
支付宝扫一扫