含义
WHILE 语句也是有条件控制的循环语句,当满足条件时,执行循环内的语句,否则退出循环。它的基本语法格式如下:

WHILE search_condition DO
    statement list
END WHILE [end label]

其中,search_condition 参数表示循环执行的条件,满足该条件时循环执行;statement_list 参数表示循环的执行语句。WHILE 循环需要使用 END WHILE 来结束。

使用
whil循环的使用不能像在java中那样直接使用 ,需要结合Mysq中的流程控制语句来使用,
关键字是:procedure
举个例子:有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

CREATE PROCEDURE p()
BEGIN
SET @sum:=1024;
SET @num:=1024;
SET @i:=0;
WHILE @num>0 DO
    SET @num:=@num/2-2;
    SET @i:=@i+1;
END WHILE;
SELECT @i;
END@@

通过call p()进行查询,注意设置的结束语句修饰符
我们在这里用的是无参的方法,即p();同样也可以进行有参的写法:
首先介绍一下参数的传递:

create procedure p([in/out/inout]参数名 参数类型)

in:该参数可以作为输入,也就是需要调用方法传入值,默认
out:该参数可作为输出,即该参数可以作为返回值
Inout:既可以作为输入参数,也可以作为输出参数
在举个例子:
从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 54321
CREATE PROCEDURE p1(IN num INT(11))
BEGIN 
SET @sum:=num;
WHILE @sum>1 DO
SET @sum:=@sum-1;
SET num=num*@sum;
END WHILE;
SELECT num;
END@@

此时,我们可以通过
call p1(5)来完成对5的阶乘,
输出结果

删除存储过程:
sql语句:
drop procedure 存储过程名
————————————————
版权声明:本文为CSDN博主「小五家的二哈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43012693/article/details/108113810

MySQL的while循环相关推荐

  1. MySQL存储过程-循环遍历查询到的结果集

    MySQL存储过程-循环遍历查询到的结果集 1.创建存储过程 (更好的阅读体验,请移步我的个人博客)根据MySQL的语法创建存储过程,要注意的是如果循环遍历查询到的结果集,取出结果集中的数据做操作. ...

  2. mysql没有for循环语句(使用while替代)

    MySQL是不支持for循环语句的, MySQL支持while循环.repeat循环.loop循环(创建存储过程,然后调用执行) 1.while循环 delimiter // #定义标识符为双斜杠dr ...

  3. MySQL三种循环语句的区别_While、Loop和Repeat三种循环语句有什么异同?

    相同点:不可单独使用,主要用于存储过程和函数FUNCTION中.区别:WHILE先判断,后执行:满足条件才执行.REPEAT和LOOP先执行,后判断:满足条件就结束循环.当条件为false时,REPE ...

  4. mysql触发器 while循环_mysql触发器跳出当前循环方法

    mysql触发器跳出当前循环方法 set @num=@UnitLength/3; label: while i set @length=(select SUBSTRING(@unit_sid_fk,1 ...

  5. mysql 5.7 循环语句_MySQL循环语句|mysql|loop|delimiter|procedure|调用_网易订阅

    mysql常见的三种循环方式:while.repeat和loop循环.还有一种goto,不推荐使用. 1.while循环 -- 设置mysql分隔符为//,也就意味着,当遇到下一个//时,整体执行SQ ...

  6. mysql 存储过程 select 循环_简简单单储存过程——循环一个select结果集

    摘要:本文主要讲解了存储过程的创建.调用.以及游标的使用 ,相信掌握了游标      会对你有不错的帮助,有不足之处还请指教 导航 : 一.存储过程的创建及调用 二 .游标的使用 三.  示例 四.补 ...

  7. mysql的for循环_MySQL中的For循环示例

    三国纷争 MySQL中的while循环语法示例:delimiter //CREATE procedure yourdatabase.while_example()wholeblock:BEGIN  d ...

  8. mysql for loop_MySQL循环语句 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

    mysql常见的三种循环方式:while.repeat和loop循环.还有一种goto,不推荐使用. 1.while循环 -- 设置mysql分隔符为//,也就意味着,当遇到下一个//时,整体执行SQ ...

  9. mysql 日期循环_如何在mysql存储过程中循环日期时间

    即时通讯使用mysql存储过程,如何制作一个循环,每1小时变量strathour将有1小时的间隔然后返回查询的总数.当starthour小于11月的日期时,它将具有1小时的间隔并执行查询. 这是我的代 ...

  10. mysql 利用游标循环删除数据报错:No data - zero rows fetched, selected, or processed

    第一次用mysql的游标来循环处理数据,编写的存储过程如下: DROP PROCEDURE IF EXISTS delete_Menu; DELIMITER $$ CREATE PROCEDURE d ...

最新文章

  1. 【深度学习之美】卷地风来忽吹散,积得飘零美如画(入门系列之十)
  2. 如何做会员排名 按照投稿文章数量
  3. Java-使用JavaMail发送一封邮件给用户邮箱功能实现
  4. springboot ---- sts如何启动两个实例
  5. Hashcode 的作用
  6. 终于有人把tomcat讲清楚了。
  7. Javascript进阶:数据类型
  8. ofdm误码率仿真代码_共享源代码之MSK仿真(1)
  9. JUC 常用 4 大并发工具类:CountDownLatch、CyclicBarrier、Semaphore、Exchanger
  10. Linux通过域名查ip
  11. python三引号作用是什么_python中三引号的作用(逗号的两点总结)
  12. java 写服务器向客户端发送消息,java服务器向客户端发送消息
  13. 游戏 蒸汽之城开发经验
  14. mismatch,equal比较两序列
  15. 2020北航,南大软院,计算所夏令营,北邮,西交人机所预推免记录
  16. mysql icp_试释MySQL ICP的部分疑点
  17. MCMC详解1——蒙特卡洛方法
  18. 最少硬币问题(最多背包问题)可以测试代码过程
  19. 毕业季,大学生一定要知道的IT培训机构招生套路!(蜗牛学院)
  20. 红外测试操作步骤_红外光谱仪标准操作规程

热门文章

  1. 手机黑屏,但是按开机键有震动,能进系统,usb也能识别fastboot和rec(bl已解)
  2. python实现图片暗藏表白效果
  3. 阻挡前进的小兵<隐私政策>
  4. 【搞定Go语言】第2天6:Go语言基础之切片
  5. ClassNames
  6. int和long类型取值范围。 基本数据类型 byte , short , char ,int , long , float ,double,boolean类型取值范围
  7. docker之cgroup、compose
  8. oop 编程是什么?
  9. 华为前缀列表ip ip-prefix
  10. 太原理工大学计算机专业全国排名,2020计算机专业大学排名