日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 流程控制语句,mysql PL(procedure language)流程控制语句

發布時間:2024/9/27 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 流程控制语句,mysql PL(procedure language)流程控制语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在MySQL中,常見的過程式SQL語句可以用在存儲體中。其中包括IF語句、CASE語句、LOOP語句、WHILE語句、ITERATE語句和LEAVE語句,它們可以進行流程控制。

IF語句相當于Java中的if()...else if()...else...

CASE語句相當于Java中的switch()...case A:...break;default...

LOOP語句相當于Java中的while(true){...}

while語句相當于Java中的while(條件){...}

REPEAT語句相當于Java中的do{...}while(條件)

LEAVE語句相當于Java中的 break; 配合LOOP使用

當REPEAT出現在LOOP、REPEAT、WHILE語句中的時,相當于Java中的continue;

1. IF語句

列一:

DELIMITER//

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;

END

//

注意這里的selimiter//后面的 “//”和最后的 “//”

這樣在當前數據庫中究生成了過程控制函數example_if(x)

使用流程為

CALL example_if(6);

2. CASE語句

列二:

DELIMITER//

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;

END

//

這樣在當前數據庫中究生成了過程控制函數example_case(x)

使用:

CALL example_case(7);

3. WHILE語句

列三:

DELIMITER//

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;

END

//

這樣在當前數據庫中究生成了過程控制函數example_while(x)

調用:

CALL example_while(@a);

SELECT @s;

4. LOOP語句

列四:

DELIMITER//

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

LEAVE loop_label;

END IF;

END LOOP;

SET SUM=s;

END

//

這里的leave label相當于java中的break;

調用:

CALL example_loop(@s);

SELECT @s;

5. REPEAT語句

列五:

DELIMITER//

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;

END

//

調用:

CALL example_repeat(@s);

SELECT @s;

總結

以上是生活随笔為你收集整理的mysql 流程控制语句,mysql PL(procedure language)流程控制语句的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。