循环语句
while
结构
标签名:while 条件 do
循环体内容
end while 标签
案例
DELIMITER $
CREATE PROCEDURE p18()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i<=10 DO
INSERT INTO girls(gname) VALUES(CONCAT('小红',i));
SET i=i+1;
END WHILE ;
END
CALL p18()
批量插入数据,如果名字是小红3的话,则停止数据的插入
DELIMITER $
CREATE PROCEDURE p19()
BEGIN
DECLARE i INT DEFAULT 1;
name1:WHILE i<100 DO
IF CONCAT('小红',i)='小红3' THEN LEAVE name1;
END IF;
INSERT INTO girls VALUES(0,CONCAT('小红',i));
SET i = i+1;
END WHILE name1;
END
CALL p19()
批量插入数据,如果插入次数为偶数,正常操作,奇数次数则不插入
DELIMITER $
CREATE PROCEDURE p19()
BEGIN
DECLARE i INT DEFAULT 1;
name1:WHILE i<10 DO
IF MOD(i,2) !=0 THEN ITERATE name1;
END IF;
INSERT INTO girls VALUES(0,CONCAT('小花',i));
SET i = i+1;
END WHILE name1;
END
iterate leave
语句 | 与python类似语句 | 作用 |
---|---|---|
iterate | continue | 跳出当前循环进入下一次循环 |
leave | break | 跳出循环,直接结束循环 |
15.2 loop
[标签:]loop
循环体
end loop [标签]
中括号表示可写可不写
15.3 repeat
[标签:]repeat
循环体
until 结束循环的条件
end repeat [标签]
15.4 while loop repeat 总结
名称 | 语法 | 特点 | 位置 |
---|---|---|---|
while | 标签:while 条件 do 语句; end while 标签; | 先判断后执行 | |
loop | 标签: LOOP 语句 END LOOP 标签; | 没有条件的死循环 | 都放在begin和end中在存储过程中 |
repeat | 标签:repeat 语句 until 条件 end repeat 标签; | 先执行后判断 |