mysql-存储过程(1)mysql循环语句mysql循环语句:
本⽂总结了mysql常见的三种循环⽅式:while、repeat和loop循环。还有⼀种goto,不推荐使⽤。
⼀、while循环
delimiter //                            #定义标识符为双斜杠
drop procedure if exists test;          #如果存在test存储过程则删除
create procedure test()                #创建⽆参存储过程,名称为test
begin
declare i int;                      #申明变量
set i = 0;                          #变量赋值
while i < 10 do#结束循环的条件: 当i⼤于10时跳出while循环
insert into test values (i);    #往test表添加数据
set i = i + 1;                  #循环⼀次,i加⼀
end while;                          #结束while循环
select * from test;                #查看test表数据
end
//                                      #结束定义语句
call test();                            #调⽤存储过程
⼆、repeat循环
delimiter //                            #定义标识符为双斜杠
drop procedure if exists test;          #如果存在test存储过程则删除
create procedure test()                #创建⽆参存储过程,名称为test
begin
declare i int;                      #申明变量
set i = 0;                          #变量赋值
mysql存储过程题目
repeat
insert into test values (i);    #往test表添加数据
set i = i + 1;                  #循环⼀次,i加⼀
until i > 10 end repeat;            #结束循环的条件: 当i⼤于10时跳出repeat循环
select * from test;                #查看test表数据
end
//                                      #结束定义语句
call test();                            #调⽤存储过程
三、loop循环
delimiter //                            #定义标识符为双斜杠
drop procedure if exists test;          #如果存在test存储过程则删除
create procedure test()                #创建⽆参存储过程,名称为test
begin
declare i int;                      #申明变量
set i = 0;                          #变量赋值
lp : loop                          #lp为循环体名,可随意 loop为关键字
insert into test values (i);    #往test表添加数据
set i = i + 1;                  #循环⼀次,i加⼀
if i > 10 then                  #结束循环的条件: 当i⼤于10时跳出loop循环
leave lp;
end if;
end loop;
select * from test;                #查看test表数据
end
//                                      #结束定义语句
call test();                            #调⽤存储过程
原⽂:blog.csdn/yangzjchn/article/details/82705565