中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

While、Loop和Repeat三種循環語句有什么區別

發布時間:2021-02-01 14:32:23 來源:億速云 閱讀:953 作者:小新 欄目:MySQL數據庫

這篇文章主要介紹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三種循環語句有什么區別”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵南县| 清水县| 正安县| 离岛区| 淳化县| 上栗县| 喀喇沁旗| 扶风县| 芮城县| 牡丹江市| 望江县| 苍梧县| 宜昌市| 东源县| 江西省| 金华市| 沙湾县| 阿坝| 忻城县| 南城县| 张家港市| 康保县| 江孜县| 寻乌县| 长武县| 乌审旗| 德化县| 蒙自县| 稷山县| 防城港市| 平山县| 呼和浩特市| 屯昌县| 界首市| 富源县| 融水| 河北区| 塔河县| 青阳县| 临泉县| 昔阳县|