我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL存储过程之流程控制while,repeat,loop循环

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL存储过程之流程控制while,repeat,loop循环

前言

  • 循环是一段在程序中只出现一次,但可能会连续运行多次的代码。
  • 循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环。

MySQL存储过程之流程控制while,repeat,loop循环

循环分类:

  • while
  • repeat
  • loop

循环控制:

leave 类似于 break,跳出,结束当前所在的循环

iterate类似于 continue,继续,结束本次循环,继续下一次

while循环

【标签:】while 循环条件 do
循环体;
end while【 标签】;
-- 创建测试表
create table user (
uid int primary_key,
username varchar ( 50 ),
password varchar ( 50 )
);
-- -------存储过程-while
delimiter $$
create procedure proc16_while1(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
insert into user(uid,username,`password`) values(i,concat('user-',i),'123456');
set i=i+1;
end while label;
end $$
delimiter ;
call proc16_while(10);

存储过程语法是固定的:delimiter $$ create peocedure 循环名(参数)begin 代码 end $$ delimiter;

注意在写循环体的时候,必须要要有定义循环的初识变量,采用declare i int default 默认值

然后就是dlabel:while 判断条件 do 循环体 end while label; end && 必须要有

-- -------存储过程-while + leave
truncate table user;
delimiter $$
create procedure proc16_while2(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
insert into user(uid,username,`password`) values(i,concat('user-',i),'123456');
if i=5 then leave label;
end if;
set i=i+1;
end while label;
end $$
delimiter ;
call proc16_while2(10);

如果在内部需要跳出循环的话,采用if 判断 ,但是最后需要end if 结尾

这里的leave就是 跳出循环,相对于break

-- -------存储过程-while+iterate
truncate table user;
delimiter $$
create procedure proc16_while3(in insertcount int)
begin
declare i int default 1;
label:while i<=insertcount do
set i=i+1;
if i=5 then iterate label;
end if;
insert into user(uid,username,`password`) values(i,concat('user-',i),'123456');
end while label;
end $$
delimiter ;
call proc16_while3(10);

这里的iterate 相对于continue 遇到就不执行下面的代码

repeat循环

repeat
循环体;
until 条件表达式
end repeat [标签];
-- -------存储过程-循环控制-repeat
use mysql7_procedure;
truncate table user;
delimiter $$
create procedure proc18_repeat(in insertCount int)
begin
declare i int default 1;
label:repeat
insert into user(uid, username, password) values(i,concat('user-',i),'123456');
set i = i + 1;
until i > insertCount
end repeat label;
select '循环结束';
end $$
delimiter ;
call proc18_repeat(100);

这个相对于是,无论如何都会执行一次的循环,然后是在内部进行判断,如果满足了就直接跳出

loop循环

 loop
循环体;
if 条件表达式 then
leave [标签];
end if;
end loop;
-- -------存储过程-循环控制-loop
truncate table user;

delimiter $$
create procedure proc19_loop(in insertCount int)
begin
declare i int default 1;
label:loop
insert into user(uid, username, password) values(i,concat('user-',i),'123456');
set i = i + 1;
if i > 5
then
leave label;
end if;
end loop label;
select '循环结束';
end $$
delimiter ;
call proc19_loop(10);

这个和repeat不同的是,需要执行之后,利用leave 跳出循环,无论是使用哪种都可以达到我们需要的效果,但是在业务中的应用场景,while还是相对比较的多。

到此这篇关于MySQL存储过程之流程控制while,repeat,loop循环的文章就介绍到这了,更多相关MySQL存储过程 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL存储过程之流程控制while,repeat,loop循环

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL存储过程之流程控制while,repeat,loop循环

目录前言while循环repeat循环loop循环前言循环是一段在程序中只出现一次,但可能会连续运行多次的代码。循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环。循环分类:whilerepeatloop循环控制:le
2022-07-11

MySQL流程控制while,repeat,loop循环实例分析

本文小编为大家详细介绍“MySQL流程控制while,repeat,loop循环实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL流程控制while,repeat,loop循环实例分析”文章能帮助大家解决疑惑,下面跟着小编的
2023-07-02

python流程控制之while循环的使

while 条件: 执行代码当条件条件成立,代码就会执行;count = 0 while count <= 100 : #只要count<=100就不断执行下面的代码   print("loop ", count )   count +=1
2023-01-31

MySQL存储过程中怎么控制循环次数

在MySQL存储过程中,可以使用循环控制结构来控制循环次数,其中常用的循环结构有WHILE循环和FOR循环。WHILE循环:在MySQL存储过程中,可以使用WHILE循环来重复执行一段代码,直到满足指定的条件为止。示例代码如下:DELIMI
MySQL存储过程中怎么控制循环次数
2024-04-30

MySQL REPEAT循环语句如何在存储过程中使用?

众所周知,MySQL 为我们提供了循环语句,允许我们根据条件重复执行 SQL 代码块。 REPEAT循环语句就是此类循环语句之一。其语法如下 -REPEATstatements;UNTIL expressionEND REPEAT首先,
2023-10-22

MySQL存储过程时循环控制的技巧是什么

在MySQL存储过程中实现循环控制的技巧有两种方法,一种是使用WHILE循环,另一种是使用LOOP循环。下面分别介绍这两种方法:使用WHILE循环:在存储过程中可以使用WHILE循环来实现循环控制,其语法如下:WHILE conditio
MySQL存储过程时循环控制的技巧是什么
2024-04-30

MySQL存储过程中的循环控制方法是什 么

MySQL存储过程中的循环控制方法主要有以下几种:WHILE循环:使用WHILE语句来实现循环控制,当指定的条件为真时,循环体会被执行。循环体可以包含任意的SQL语句。示例:DELIMITER //CREATE PROCEDURE ex
MySQL存储过程中的循环控制方法是什 么
2024-04-30

MySQL存储过程的传参和流程控制示例讲解

这篇文章主要介绍了MySQL存储过程的传参和流程控制示例讲解, repeat和Loop区别是repeat有自己退出循环的语句until,Loop使用的是if判断语句,本文结合示例代码详细讲解,需要的朋友可以参考下
2023-02-10

编程热搜

目录