栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL的 循环结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL的 循环结构

文章目录
  • 前言
  • 循环结构
    • 1,while
    • 2,loop
    • 3,repeat

前言

流程控制结构

顺序结构:程序从上往下依次执行
分支结构:程序从两条或多条路径中选择一条去执行
循环结构:程序在满足一定条件的基础上,重复执行一段代码

循环结构

分类:
while,loop,repeat

循环控制:
iterate 类似于 continue 继续 ,结束本次循环,继续下一次
leave 类似 break 跳出,结束当前所在的循环

1,while

语法:

[标签:] while 循环条件, do
         循环体;
	end while [标签]
end 	

联想Java

while (循环条件){
	循环体;
}		 
2,loop

语法:

[标签] loop
	循环体
end loop [标签]

可以用来模拟简单的死循环

3,repeat

语法

[标签:] repeat
	循环体;
until 结束循环的条件
end repeat [标签];

案例1:批量插入,根据次数 插入到admin表中多条数据

create procedure pro_while1(in insertCount int)
begin
	declare i int default 1; #定义i的初始值为1
	while i <= insertCount Do # 当i小于等于输入的参数
		insert into admin(`username`,`password`) values(concat('huan',i),'8888'); #则 添加如下语句
		set i = i + 1; # 进行自增
	end while;
end

call pro_while1(100);

案例2:添加leave 批量插入,根据次数 插入到admin表中多条数据
如果次数大于20 则停止

create procedure test_while2(in insertCount int)
begin
	declare i int default 1; #定义i的初始值为1
	a:while i <= insertCount Do # 添加了个标签
		insert into admin(`username`,`password`) values(concat('hao',i),'8888');
		if i >= 20 then leave a; #如果 i大于等于 20 则跳出循环(一定要添加标签,否则失败)
		end if; # 返回
		set i = i + 1;# 自增
	end while a; # 返回标签
end

案例3,添加iterate语句, 批量插入,根据次数 插入到admin表中多条数据 只插入偶数次

create procedure test_while3(in insertCount int)
begin
	declare i int default 1; # 定义i的初始值
	a:while i <= insertCount Do
		set i = i + 1; #先进行自增
		if mod(i,2)!=0 then iterate a; # 如果i除以2不等于0,继续循环,但不输出结果。
		end if;
		insert into admin(`username`,`password`) values(concat('hao',i),'8888');	
	end while a;
end

Mod(a,b) 在sql中的意思是 a / b 的余数
基础用法:如果id需要是偶数或者奇数时就可以使用mod。
mod(id,2)=1 是指id是奇数。
mod(id,2)=0 是指id是偶数

java:

int i = 1;
while (i<=insertCount){
	i++;
	if(i%2==0){
		continue;
	}
	插入;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号