這篇文章主要介紹While、Loop和Repeat三種循環(huán)語(yǔ)句有什么區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),漳州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:漳州等地區(qū)。漳州做網(wǎng)站價(jià)格咨詢:13518219792
相同點(diǎn):不可單獨(dú)使用,主要用于存儲(chǔ)過(guò)程和函數(shù)FUNCTION中。區(qū)別:WHILE先判斷,后執(zhí)行;滿足條件才執(zhí)行。REPEAT和LOOP先執(zhí)行,后判斷;滿足條件就結(jié)束循環(huán)。當(dāng)條件為false時(shí),REPEAT也能執(zhí)行一次;其他兩個(gè)語(yǔ)句無(wú)法執(zhí)行。
一、MySQL循環(huán)概述
MySQL中有三種循環(huán),分別是 WHILE , REPEAT , LOOP (據(jù)說(shuō)還有 goto),不可單獨(dú)使用,主要用于 存儲(chǔ)過(guò)程 PROCEDURE 和 函數(shù) FUNCTION 中。
二、WHILE 循環(huán)
1、語(yǔ)法: WHILE condition DO doSomething END WHILE ;
2、說(shuō)明: condition 條件滿足情況下,則執(zhí)行循環(huán)體內(nèi)容,不滿足,則結(jié)束循環(huán)。(如:2>1,滿足;1<2,不滿足。) --- 先判斷,后執(zhí)行。
3、示例: 創(chuàng)建 while 循環(huán)的存儲(chǔ)過(guò)程 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、調(diào)用存儲(chǔ)過(guò)程: CALL pro_while();
相關(guān)推薦《mysql視頻教程》
三、REPEAT 循環(huán)
1、語(yǔ)法: REPEAT doSomething UNTIL condition END REPEAT ;
2、說(shuō)明:doSomething 先執(zhí)行相關(guān)操作 ,再判斷是否滿足條件,滿足,結(jié)束循環(huán)。(和WHILE循環(huán)相反) --- 先執(zhí)行,后判斷。
3、示例:創(chuàng)建 repeat 循環(huán)的函數(shù) 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 ; -- 滿足條件結(jié)束循環(huán) RETURN 1; END;
4、執(zhí)行函數(shù): SELECT fun_repeat();
四、LOOP 循環(huán)
1、語(yǔ)法:
loop_name : LOOP IF condition THEN LEAVE loop_name ; END IF; doSomething END LOOP;
2、說(shuō)明:
loop_name 為循環(huán)名字,自定義,不可用關(guān)鍵字。
doSomething 執(zhí)行的相關(guān)操作。
condition 滿足條件,則結(jié)束循環(huán)。--- 先判斷,后執(zhí)行。
3、示例:創(chuàng)建 loop 循環(huán)的存儲(chǔ)過(guò)程 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 ; -- 滿足條件,則結(jié)束循環(huán) END IF; INSERT INTO `chapter`.`batch` (`id`, `name`, `age`) VALUES (CONCAT(sum,''),CONCAT('loop',sum) , sum); SET sum = sum + 1; END LOOP ; -- 【結(jié)束】 END ;
4、調(diào)用存儲(chǔ)過(guò)程: CALL pro_loop();
五、總結(jié)
1、WHILE 循環(huán),先判斷,后執(zhí)行。滿足條件,執(zhí)行,執(zhí)行循環(huán)。
2、REPEAT 循環(huán),先執(zhí)行,后判斷。滿足條件,不執(zhí)行,結(jié)束循環(huán)。
3、LOOP 循環(huán),先執(zhí)行,后判斷。滿足條件,不執(zhí)行,結(jié)束循環(huán)。
4、當(dāng)條件為false時(shí),REPEAT循環(huán)也能執(zhí)行一次,類似于 java中的 do {} while (condition); 循環(huán); 而 WHILE、LOOP 循環(huán)無(wú)法執(zhí)行。
以上是“While、Loop和Repeat三種循環(huán)語(yǔ)句有什么區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞名稱:While、Loop和Repeat三種循環(huán)語(yǔ)句有什么區(qū)別
當(dāng)前網(wǎng)址:http://jinyejixie.com/article38/pggdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、定制開發(fā)、響應(yīng)式網(wǎng)站、云服務(wù)器、網(wǎng)頁(yè)設(shè)計(jì)公司、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)