While、Loop和Repeat三種迴圈語句有什麼異同?

青灯夜游
發布: 2022-12-30 11:13:14
原創
4845 人瀏覽過

相同點:不可單獨使用,主要用於預存程序和函數FUNCTION。區別:WHILE先判斷,後執行;滿足條件才執行。 REPEAT和LOOP先執行,後判斷;滿足條件就結束循環。當條件為false時,REPEAT也能執行一次;其他兩個語句無法執行。

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

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,&#39;&#39;),CONCAT(&#39;while&#39;,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,&#39;&#39;),CONCAT(&#39;repeat&#39;,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,&#39;&#39;),CONCAT(&#39;loop&#39;,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三種迴圈語句有什麼異同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板