mysql流程控制语句包括哪些?

mysql流程控制语句包括哪些?,第1张

概述mysql流程控制语句包括哪些?

MysqL中的流程控制语句包括有:IF语句、CASE语句、LOOP语句、WHILE语句、REPEAT语句、LEAVE语句和IteraTE语句,它们都可以来控制程序的流程。

在存储过程和自定义函数中可以使用流程控制语句来控制程序的流程。MysqL 中流程控制语句有::IF语句、CASE语句、LOOP语句、WHILE语句、REPEAT语句、LEAVE语句和IteraTE语句,它们可以进行流程控制。(推荐教程:mysql视频教程)

1、IF语句

IF语句用来进行条件判断,根据不同的条件执行不同的 *** 作。该语句在执行时首先判断IF后的条件是否为真,则执行THEN后的语句,如果为假则继续判断IF语句直到为真为止,当以上都不满足时则执行ELSE语句后的内容。IF语句表示形式如下:

IF condition THEN	...ELSE condition THEN	...ELSE	...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;END;-- 调用存储过程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;END;-- 调用存储过程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;END;-- 调用存储过程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;END;-- 调用存储过程CALL example_loop(@sum);SELECT @sum;

5、REPEAT循环语句

REPEAT循环语句先执行一次循环体,之后判断condition条件是否为真,则退出循环,否则继续执行循环。REPEAT语句表示形式如下:

REPEAT	...	UNTIL conditionEND 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;END;-- 调用存储过程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;END;-- 调用存储过程CALL example_iterate(@sum);SELECT @sum

更多编程相关知识,请访问:编程学习网站!! 总结

以上是内存溢出为你收集整理的mysql流程控制语句包括哪些?全部内容,希望文章能够帮你解决mysql流程控制语句包括哪些?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1150374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存