我是靠谱客的博主 友好百褶裙,这篇文章主要介绍While、Loop和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

复制代码
1
2
3
4
5
6
7
8
9
10
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

复制代码
1
2
3
4
5
6
7
8
9
10
11
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、语法:

复制代码
1
2
3
4
5
6
loop_name : LOOP IF condition THEN LEAVE loop_name ; END IF; doSomething END LOOP;
登录后复制

2、说明:

  • loop_name 为循环名字,自定义,不可用关键字。
    • doSomething 执行的相关操作。
    • condition 满足条件,则结束循环。--- 先判断,后执行。

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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三种循环语句有什么异同?的全部内容,更多相关While、Loop和Repeat三种循环语句有什么异同内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(103)

评论列表共有 0 条评论

立即
投稿
返回
顶部