温馨提示×

mysql中有哪些流程控制语句

养鱼的猫咪
452
2021-04-23 11:48:24
栏目: 云计算

mysql中的流程控制语句有:1.IF语句,根据不同条件执行不同操作;2.CASE语句,多分支语句结构;3.WHILE循环语句,先判断后执行;4.LOOP循环语句,没有内置的循环条件;5.REPEAT循环语句,先执行后判断;

mysql中有哪些流程控制语句

mysql中的流程控制语句有以下几种

1.IF语句

mysql中IF语句的作用是用于进行条件判断,可以根据不同条件执行不同操作,如何判断条件为真,执行THEN后的语句,条件为假,则继续判断IF语句直到为真为止,不满足条件时,则执行ELSE语句后的内容。

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;

CALL example_if(2);

2.CASE语句

mysql中CASE语句是一个多分支语句结构,如条件为真,执行分支的内容,条件为假,则执行ELSE后的内容。

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;

CALL example_case(5);

3.WHILE循环语句

mysql中WHILE循环语句是通过判断condition条件是否为真,如条件为真,执行循环体,条件为假,则退出循环。

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;

CALL example_while(@sum);

SELECT @sum;

4.LOOP循环语句

mysql中LOOP循环是一个没有内置的循环条件的循环语句,可以通过LEAVE语句退出循环。

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;

CALL example_loop(@sum);

SELECT @sum;

5.REPEAT循环语句

mysql中REPEAT循环是一种先执行后判断的循环语句,是通过先执行一次循环体,在判断condition条件是否为真,若条件为真,继续执行循环,条件为假,则退出循环。

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(@sum);

SELECT @sum;


0