有关mysql中循环语句while、loop与repeat语句的例子,mysql while语句的用法举例,同时介绍了loop与repeat语句的实例代码,需要的朋友参考下。
一、创建用于测试的数据表
复制代码 代码示例:
##删除userInfo表
DROP TABLE IF EXISTS userInfo;
CREATE TABLE userInfo(
userId INT AUTO_INCREMENT PRIMARY KEY,
userName VARCHAR(30),
userPwd VARCHAR(30)
);
CREATE TABLE test_trigger_table(
id INT,
NAME VARCHAR(30)
);
##插入数据
INSERT INTO userInfo VALUES(NULL,'王五','123456');
##查询
SELECT * FROM userInfo;
二,mysql循环语句
(1).WHILE循环
[ label: ] WHILE expression DO
statements
END WHILE [ label ] ;
(2).LOOP循环
[ label: ] LOOP
statements
END LOOP [ label ] ;
(3).REPEAT UNTIL循环
[ label: ] REPEAT
statements
UNTIL expression
END REPEAT [ label ] ;
##repeat实例
复制代码 代码示例:
##REPEAT ... END REPEAT
##drop PROCEDURE p_repeat;
DELIMITER//
CREATE PROCEDURE p_repeat ()
BEGIN
DECLARE v INT;
SET v = 0;
REPEAT
INSERT INTO userInfo VALUES(NULL,'王五','123456');
SET v = v + 1;
UNTIL v >= 5
END REPEAT;
END; //
##注释:这是一个REPEAT循环的例子,功能和前面WHILE循环一样。
## 区别在于它在执行后检查结果,而WHILE则是执行前检查。(译者语:可能等同于DO WHILE吧
######调用存储过程
复制代码 代码示例:
CALL p_repeat();
SELECT COUNT(*) FROM userInfo;
##while实例
##drop PROCEDURE pro();
DELIMITER//
CREATE PROCEDURE pro_while()
BEGIN
DECLARE cout INT;
SET cout=10;
WHILE cout>0 DO
INSERT INTO userInfo VALUES(NULL,'王五','123456');
SET cout=cout-1;
END WHILE;
END;
//
##注释:这是一个while循环的例子,功能和前面loop循环一样。
## 区别在于它在执行前检查结果,而loop则是执行后检查。(译者语:可能等同于WHILE
CALL pro_while();
#####loop实例
复制代码 代码示例:
####LOOP ... END LOOP
DELIMITER//
CREATE PROCEDURE p_loop ()
BEGIN
DECLARE v INT;
SET v = 0;
loop_label: LOOP
INSERT INTO userInfo VALUES(NULL,'王五','123456');
SET v = v + 1;
IF v >= 5 THEN
LEAVE loop_label;
END IF;
END LOOP;
END; //
CALL p_loop();
SELECT COUNT(*) FROM userInfo;