MySQL 中的 for 循环
在本教程中,我们将学习如何在 MySQL 中使用 for
循环。
for
循环通常用于查询特定条件。简单来说,这些循环在 MySQL 中继续执行,直到满足特定的预定义条件。
一旦满足设置条件,正在考虑的 for
循环执行将终止。在这个 for
循环终止后,我们可以检查打印在控制台中或存储在数据结构中的循环结果。
让我们更多地了解这个循环的细节和实现。
要在 MySQL 中运行或执行 for
循环,必须编写一个存储过程。这个过程有时被称为 MySQL 语句的集合,它们一起编写以避免重复执行 MySQL 查询。
在 MySQL 中编写存储过程有多种方法,我们将在单独的教程中了解更多信息。让我们了解如何在 MySQL 的特定数据库中为 for
循环编写存储过程。
让我们创建一个虚拟数据库。我们可以将此数据库命名为 boatdb
,它指的是为特定公司准备航行的不同船只。我们可以使用以下查询来做到这一点。
CREATE DATABASE boatdb;
一旦我们这样做,我们可以看到我们的目录中将有一个名为 boatdb
的新数据库。
我们现在可以通过启用它的使用在这个数据库中执行查询和过程。我们可以通过以下查询使用这个新创建的数据库。
USE boatdb;
这将改变我们当前正在考虑的数据库。
现在让我们编写一个带有 for
循环的存储过程。特别是,让我们尝试使用逗号分隔打印从 -5
到 0
的值。
-- Start of our procedure
delimiter //
CREATE procedure boatdb.for_loop_example()
wholeblock:BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
SET x = -5;
SET str = '';
loop_label: LOOP
IF x > 0 THEN
LEAVE loop_label;
END IF;
SET str = CONCAT(str,x,',');
SET x = x + 1;
ITERATE loop_label;
END LOOP;
SELECT str;
END//
-- End of Procedure
正如我们在上面的过程中看到的,我们有一个变量 x
,最初设置为 -5
。我们在循环中的每次迭代中更新 x
的值,并用逗号打印 x
的值以分隔相邻值。
一旦我们编写并设置好要使用的过程,我们就可以使用 MySQL 中的 CALL
语句调用该过程。可以说明如下。
call for_loop_example();
正如我们在上面的语句中看到的,我们调用 for_loop_example()
,我们在 boatdb
数据库中的存储过程。
输出:
str
-5,-4,-3,-2,-1,0,
正如我们之前的目标,我们使用存储过程在 for
循环的帮助下打印了从 -5
到 0
的值。
x
的值。然后生成逗号,因此基于 x > 0
的终止条件,我们在输出末尾有一个额外的逗号。因此,借助 MySQL 中的存储过程,我们可以高效地编写一个 for
循环,该循环可以查询数据并按预期生成有意义的结果。