600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mysql(while repeat loop) 循环语句的使用

mysql(while repeat loop) 循环语句的使用

时间:2022-07-04 07:01:38

相关推荐

mysql(while repeat loop) 循环语句的使用

学习目标:

掌握 mysql循环语句的使用

学习内容:

while循环repeat循环loop

代码实例:

1.while 循环条件 do #执行循环的条件

循环体语句; #必须含有修改循环条件的语句

end while;

1:如果成绩表SC中存在不及格学生的成绩,将所有学生的成绩在原来的基础上提高5%,直到表中不再存在不及格学生为止。

-- 分析

select * from sc where degree<60;

update sc set degree=degree*1.05;

-- 1

if exists(select * from sc where degree<60) then

update sc set degree=degree*1.05;

end if;

-- 2

desc sc;

declare cj decimal(28,0);

select cj=(select min(degree) from sc);

if cj<60 then

update sc set degree=degree*1.05;

end if;

-- 编程

delimiter //

create procedure rw1()

begin

set @cj=(select min(degree) from sc);

while @cj<60 do

update sc set degree=degree*1.05;

set @cj=(select min(degree) from sc);

end while;

end //

delimiter ;

call rw1();

任务一: 用WHILE…END WHILE语句求1…100的所有奇数之和。

方法一:

delimiter //

create procedure rw2()

begin

set @s=0,@i=1;

while @i<=100 do

if @i%2<>0 then

set @s=@s+@i;

end if;

set @i=@i+1;

end while;

select @s as '1…100的所有奇数之和';

end //

delimiter ;

call rw2();

方法二:

delimiter //

create procedure rw3()

begin

set @s=0,@i=1;

while @i<=100 do

set @s=@s+@i;

set @i=@i+2;

end while;

select @s as '1…100的所有奇数之和';

end //

delimiter ;

call rw3();

2.repeat 循环

repeat

循环体语句;

until 条件 #退出循环的条件

end repeat;

例 1:如果成绩表SC中存在不及格学生的成绩,将所有学生的成绩在原来的基础上提高5%,直到表中不再存在不及格学生为止。

select * from sc;

delimiter //

create procedure rw4()

begin

select min(degree) into @cj from sc;

repeat

update sc set degree=degree*1.05;

select min(degree) into @cj from sc;

until @cj>=68

end repeat;

end //

delimiter ;

call rw4();

3.loop循环

标签名:loop

循环体语句;

if 条件 then #退出循环的条件

leave 标签名;

end if;

end loop;

1:如果成绩表SC中存在不及格学生的成绩,将所有学生的成绩在原来的基础上提高5%,直到表中不再存在不及格学生为止。

delimiter //

create procedure rw5()

begin

www:loop

update sc set degree=degree*1.05;

select min(degree) into @cj from sc;

if @cj>88 then

leave www;

end if;

end loop;

end //

delimiter ;

call rw5();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。