MySQL数据库,详解流程控制语句(四)
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可以结束本次循环
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假