MySQL 循环遍历结果集
在 MySQL 中,我们经常需要对查询结果集进行操作和处理。当结果集较大并且需要对每一行进行特定的操作时,我们可以使用循环遍历结果集的方法。
阅读更多:MySQL 教程
循环遍历方法
在 MySQL 中,我们可以使用 while
或 cursor
来实现循环遍历结果集。
while 循环
DECLARE i INT DEFAULT 0;
WHILE i < 10 DO
SELECT i;
SET i = i + 1;
END WHILE;
上述示例中,我们使用 while
循环遍历结果集,并在每次循环中输出 i
的值。这里 i
的初始值为 0,每次循环中自增 1,直到达到 10。
cursor 循环
DECLARE done INT DEFAULT FALSE;
DECLARE cur CURSOR FOR SELECT * FROM test_table;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO var1, var2;
IF done THEN
LEAVE read_loop;
END IF;
SELECT var1, var2;
END LOOP;
CLOSE cur;
上述示例中,我们使用 cursor
循环遍历结果集,并在每次循环中输出 test_table
表中的 var1
和 var2
字段的值。当所有结果均已被遍历过后,done
为 TRUE
,我们将跳出 LOOP
循环。
总结
循环遍历结果集是 MySQL 中一个非常常用的操作,这里我们介绍了两种实现方法。在实际使用中,我们要根据实际情况来选择合适的遍历方法,避免不必要的时间和资源的浪费。