前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL数据库,详解流程控制语句(四)

MySQL数据库,详解流程控制语句(四)

作者头像
用户1289394
发布2021-11-23 15:27:58
2.6K0
发布2021-11-23 15:27:58
举报
文章被收录于专栏:Java学习网Java学习网

repeat循环

语法

[标签:]repeat

循环体;

until 结束循环的条件 end repeat [标签];

repeat循环类似于java中的do...while循环,不管如何,循环都会先执⾏⼀次,然

后再判断结束循环的条件,不满⾜结束条件,循环体继续执⾏。这块和while不

同,while是先判断条件是否成⽴再执⾏循环体。

示例1:⽆循环控制语句

根据传⼊的参数v_count向test1表插⼊指定数量的数据。

/*删除存储过程*/

DROP PROCEDURE IF EXISTS proc6;

/*声明结束符为$*/

DELIMITER $

/*创建存储过程*/

CREATE PROCEDURE proc6(v_count int)

BEGIN

DECLARE i int DEFAULT 1;

a:REPEAT

INSERT into test1 values (i);

SET i=i+1;

UNTIL i>v_count END REPEAT;

END $/*结束符置为;*/

DELIMITER ;

见效果:

mysql> DELETE FROM test1;

Query OK, 1 row affected (0.00 sec)

mysql> CALL proc6(5);

Query OK, 1 row affected (0.01 sec)

mysql> SELECT * from test1;

+---+

| a |

+---+

| 1 |

| 2 |

| 3 |

| 4 |

| 5 |

+---+

5 rows in set (0.00 sec)

repeat中iterate和leave⽤法和while中类似,这块的⽰例算是给⼤家留的作业,写好

的发在留⾔区,谢谢。

loop循环

语法

[标签:]loop

循环体;

end loop [标签];

loop相当于⼀个死循环,需要在循环体中使⽤iterate或者leave来控制循环的

执⾏。示例1:⽆循环控制语句

根据传⼊的参数v_count向test1表插⼊指定数量的数据。

/*删除存储过程*/

DROP PROCEDURE IF EXISTS proc7;

/*声明结束符为$*/

DELIMITER $

/*创建存储过程*/

CREATE PROCEDURE proc7(v_count int)

BEGIN

DECLARE i int DEFAULT 0;

a:LOOP

SET i=i+1;

/*当i>v_count的时候退出循环*/

IF i>v_count THEN

LEAVE a;

END IF;

INSERT into test1 values (i);

END LOOP a;

END $

/*结束符置为;*/

DELIMITER ;

见效果:

mysql> DELETE FROM test1;

Query OK, 5 rows affected (0.00 sec)

mysql> CALL proc7(5);

Query OK, 1 row affected (0.01 sec)

mysql> SELECT * from test1;

+---+

| a |

+---+

| 1 |

| 2 |

| 3 |

| 4 || 5 |

+---+

5 rows in set (0.00 sec)

loop中iterate和leave⽤法和while中类似,这块的⽰例算是给⼤家留的作业,写好的

发在留⾔区,谢谢。

总结

1. 本⽂主要介绍了mysql中控制流语句的使⽤,请⼤家下去了多练习,熟练掌握

2. if函数常⽤在select中

3. case语句有2种写法,主要⽤在select、begin end中,select中end后⾯可以省略case,

begin end中使⽤不能省略case

4. if语句⽤在begin end中

5. 3种循环体的使⽤,while类似于java中的while循环,repeat类似于java中的do while

循环,loop类似于java中的死循环,都⽤于begin end中

6. 循环中体中的控制依靠leave和iterate,leave类似于java中的break可以退出循

环,iterate类似于java中的continue可以结束本次循环

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档