19. Mysql 循环语句

本文详细介绍了MySQL中的while、repeat、loop和iterate/leave循环语句,以及它们在处理数据操作和逻辑控制中的应用,通过示例展示了如何生成批量随机密码。

概念

循环结构是编程中常见的控制结构,它允许我们重复执行一段代码,直到满足特定条件为止。

在 Mysql 中,常用来实现各种复杂的逻辑操作和对满足条件的数据进行批量操作,提高数据处理的效率和灵活性,例如批量处理数据、生成序列号和数据动态透视等。

循环语句

while 循环语句

while 循环语句是 MySQL 中最基本的循环语句,它创建一个带条件判断的循环过程。while 在执行语句执行时,先对指定的表达式进行判断,如果为真,就执行循环内的语句,否则退出循环。

[while_label:] while 循环条件  do
                     循环体
               end while [while_label];

while_label 为语句的标注名称,可以省略;循环体里面一般会写终止条件,否则无限死循环。

示例

drop procedure if exists update_salary_while;
create procedure update_salary_while(out num int)
begin
    # 声明变量和赋值
	declare avg_sal double ; -- 记录平均工资
	declare while_count int default 0; -- 记录循环次数
	select avg(salary) into avg_sal from employees; -- 赋值
	while avg_sal > 5000 do
		update employees set salary = salary * 0.9 ;
		set while_count = while_count + 1;
		select avg(salary) into avg_sal from employees;
	end while;
	set num = while_count;-- 给num赋值
end;

call update_salary_while(@num); -- 调用
select @num;
select avg(salary) from employees;

repeat 循环语句

repeat 循环首先会执行一次循环,然后在 until 中进行表达式的判断,如果满足条件就退出,即 end repeat ;如果条件不满足,则会就继续执行循环,直到满足退出条件为止。

[repeat_label:] repeat
             循环体的语句
                    until 结束循环的条件表达式
                end repeat [repeat_label];

repeat_label 为 repeat 语句的标注名称,该参数可以省略;repeat 语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有请小发菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值