在 MySQL 中生成一系列数字?

mysqlmysqli database

要在 MySQL 中生成一系列数字,您可以使用存储过程。首先,我们需要创建一个表。之后,我们将创建一个存储过程,生成从 10 到 1 的数字范围。

以下是创建表的查询 −

mysql> create table GeneratingNumbersDemo
   −> (
      −> Number int
   −> );
Query OK, 0 rows affected (0.55 sec)

现在您可以创建一个存储过程,用于在表中存储一系列数字。以下是创建存储过程的查询 −

mysql> delimiter //
mysql> CREATE PROCEDURE Stored_ProceduretoGenerateNumbersDemo()
   −> BEGIN
   −> DECLARE start INT DEFAULT 10;
   −> WHILE start > 0 DO
   −> INSERT GeneratingNumbersDemo VALUES (start);
   −> SET start = start - 1;
   −> END WHILE;
   −> END //
Query OK, 0 rows affected (0.12 sec)

之后我们需要调用存储过程来填充表中的数字范围。

您可以借助 call 命令来调用存储过程。语法如下 −

call yourStoredProcedureName();

现在您可以像这样调用上述存储过程 −

Calling the stored procedure −

mysql> call Stored_ProceduretoGenerateNumbersDemo();
Query OK, 1 row affected (0.85 sec)

检查表中是否存在数字范围。查询如下 −

mysql> select *from GeneratingNumbersDemo;

以下是输出 −

+--------+
| Number |
+--------+
|     10 |
|      9 |
|      8 |
|      7 |
|      6 |
|      5 |
|      4 |
|      3 |
|      2 |
|      1 |
+--------+
10 rows in set (0.00 sec)

相关文章