在我们使用循环语句的时候,有跟大家提到过while是不断在循环的,当时我们举的例子为学习是永无止境的。同样的,我们在使用数据库mysql时也有这样的功能可以实现,那就是loop函数。在语法的使用上不是很难,功能输出结果上跟while类似。接下来小编就一起带大家用loop在数据库mysql中进行循环操作吧。
loop为死循环,需要手动退出循环,我们可以使用 leave来退出循环
可以把leave看成Java中的break;与之对应的,就有 iterate (继续循环)也可以看成Java的continue
语法:
1[别名:] LOOP 2 循环语句 3END LOOP [别名]
注意:别名和别名控制的是同一个标签。
循环打印1~10(leave控制循环的退出)
注意:该loop循环为死循环,我们查的1~10数字是i,在死循环中设置了当大于等于10时停止循环,也就是说先后执行了10次该循环内的内容,结果查询了10次,生成了10个结果(1~10)。
delimiter // create procedure s_loop() begin # 声明计数器 declare i int default 1; # 开始循环 num: loop # 查询计数器记录的值 select i; # 判断大于等于停止计数 if i >= 10 then leave num; end if; # 计数器自增1 set i = i + 1; # 结束循环 end loop num; end // call s_loop();
想要尝试循环操作的可以试试今天学习的loop,如果想要停止循环的话,也可以借助leave来退出,总体使用上面还是非常灵活的。
本文教程操作环境:windows7系统、mysql5.8,DELL G3电脑。