久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql流程控制語句是什么

150次閱讀
沒有評論

共計 2601 個字符,預計需要花費 7 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 mysql 流程控制語句是什么,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

mysql 中的流程控制語句包括有:IF 語句、CASE 語句、LOOP 語句、WHILE 語句、REPEAT 語句、LEAVE 語句和 ITERATE 語句,它們都可以來控制程序的流程。

在存儲過程和自定義函數中可以使用流程控制語句來控制程序的流程。MySQL 中流程控制語句有::IF 語句、CASE 語句、LOOP 語句、WHILE 語句、REPEAT 語句、LEAVE 語句和 ITERATE 語句,它們可以進行流程控制。

1、IF 語句

IF 語句用來進行條件判斷,根據不同的條件執行不同的操作。該語句在執行時首先判斷 IF 后的條件是否為真,則執行 THEN 后的語句,如果為假則繼續判斷 IF 語句直到為真為止,當以上都不滿足時則執行 ELSE 語句后的內容。IF 語句表示形式如下:

IF condition THEN
ELSE condition THEN
END IF

示例:使用 IF 語句用來進行條件判斷。

-- 創建存儲過程
CREATE PROCEDURE example_if (IN x INT)
BEGIN
 IF x = 1 THEN
 SELECT 1;
 ELSEIF x = 2 THEN 
 SELECT 2;
 ELSE
 SELECT 3;
 END IF;
-- 調用存儲過程
CALL example_if(2);

注意:MySQL 中的 IF() 函數不同于這里的 IF 語句。

2、CASE 語句

CASE 語句為多分支語句結構,該語句首先從 WHEN 后的 VALUE 中查找與 CASE 后的 VALUE 相等的值,如果查找到則執行該分支的內容,否則執行 ELSE 后的內容。CASE 語句表示形式如下:

CASE value
 WHEN value THEN ...
 WHEN value THEN ...
 ELSE ...
END CASE

CASE 語句另一種語法表示形式如下:

CASE
 WHEN value THEN ...
 WHEN value THEN ...
 ELSE ...
END CASE

示例:使用 CASE 語句用來進行條件判斷。

-- 創建存儲過程
CREATE PROCEDURE example_case(IN x INT)
BEGIN
 CASE x
 WHEN 1 THEN SELECT 1;
 WHEN 2 THEN SELECT 2;
 ELSE SELECT 3;
 END CASE;
-- 調用存儲過程
CALL example_case(5);

3、WHILE 循環語句

WHILE 循環語句執行時首先判斷 condition 條件是否為真,如果是則執行循環體,否則退出循環。該語法表示形式如下:

WHILE condition DO
END WHILE;

示例:使用 WHILE 循環語句執行求前 100 的和。

-- 創建存儲過程
CREATE PROCEDURE example_while(OUT sum INT)
BEGIN
 DECLARE i INT DEFAULT 1;
 DECLARE s INT DEFAULT 0;
 WHILE i = 100 DO
 SET s = s+i;
 SET i = i+1;
 END WHILE;
 SET sum = s;
-- 調用存儲過程
CALL example_while(@sum);
SELECT @sum;

4、LOOP 循環語句

LOOP 循環沒有內置的循環條件,但可以通過 LEAVE 語句退出循環。LOOP 語句表示形式如下:

LOOP
END LOOP

LOOP 語句允許某特定語句或語句群的重復執行,實現一個簡單的循環構造,在循環內的語句一直重復直至循環被退出,退出循環應用 LEAVE 語句。

LEAVE 語句經常和 BEGIN…END 或者循環一起使用,其表示形式如下:

LEAVE label

label 是語句中標注的名字,這個名字是自定義的。

示例:使用 LOOP 循環語句求前 100 的和。

-- 創建存儲過程
CREATE PROCEDURE example_loop(OUT sum INT)
BEGIN
 DECLARE i INT DEFAULT 1;
 DECLARE s INT DEFAULT 0;
 loop_label:LOOP
 SET s = s+i;
 SET i = i+1;
 IF i 100 THEN
 -- 退出 LOOP 循環
 LEAVE loop_label; 
 END IF;
 END LOOP;
 SET sum = s;
-- 調用存儲過程
CALL example_loop(@sum);
SELECT @sum;

5、REPEAT 循環語句

REPEAT 循環語句先執行一次循環體,之后判斷 condition 條件是否為真,則退出循環,否則繼續執行循環。REPEAT 語句表示形式如下:

REPEAT
 UNTIL condition
END REPEAT

示例:使用 REPEAT 循環語句求前 100 的和。

-- 創建存儲過程
CREATE PROCEDURE example_repeat(OUT sum INT)
BEGIN
 DECLARE i INT DEFAULT 1;
 DECLARE s INT DEFAULT 0;
 REPEAT
 SET s = s+i;
 SET i = i+1;
 UNTIL i 100
 END REPEAT;
 SET sum = s;
-- 調用存儲過程
CALL example_repeat(@sum);
SELECT @sum;

6、ITERATE 語句

ITERATE 語句可以出現在 LOOP、REPEAT 和 WHILE 語句內,其意為“再次循環”。語句格式如下:

ITERATE label

該語句的格式與 LEAVE 大同小異,區別在于:LEAVE 語句是離開一個循環,而 ITERATE 語句是重新開始一個循環。

示例:求 10 以內奇數值的和。

-- 創建存儲過程
CREATE PROCEDURE example_iterate(OUT sum INT)
BEGIN
 DECLARE i INT DEFAULT 0;
 DECLARE s INT DEFAULT 0;
 loop_label:LOOP
 SET i = i+1; 
 IF i 10 THEN
 -- 退出整個循環
 LEAVE loop_label; 
 END IF;
 IF (i mod 2) THEN
 SET s = s+i;
 ELSE
 -- 退出本次循環,繼續下一個循環
 ITERATE loop_label;
 END IF;
 END LOOP;
 SET sum = s;
-- 調用存儲過程
CALL example_iterate(@sum);
SELECT @sum

關于 mysql 流程控制語句是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計2601字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 河西区| 酉阳| 普洱| 滨州市| 罗定市| 开江县| 巴彦淖尔市| 开化县| 嵊州市| 若尔盖县| 大城县| 阳泉市| 左贡县| 江阴市| 都兰县| 恩施市| 五指山市| 华宁县| 富民县| 清河县| 肃宁县| 康乐县| 瑞安市| 额济纳旗| 静乐县| 隆子县| 鹿邑县| 万源市| 长治县| 昌图县| 神农架林区| 威海市| 达日县| 富阳市| 钦州市| 萝北县| 临漳县| 招远市| 洛扎县| 防城港市| 中江县|