首頁  >  文章  >  資料庫  >  如何使用預存程序以隨機數填入 MySQL 表?

如何使用預存程序以隨機數填入 MySQL 表?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-25 07:56:02317瀏覽

How to Populate a MySQL Table with Random Numbers Using Stored Procedures?

使用預存程序用隨機數填入MySQL 表

問題陳述

建立一個名為rand_numbers 的MySQL 表,其中包含一個名為number的INT 類型列。使用 2222 到 5555 之間的 1111 個隨機數填入表。

解決方案

要使用MySQL 預存程序建立與填入rand_numbers 表,請依照下列步驟操作:

1.建立表格

<code class="sql">CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;</code>

2.建立預存程序

定義一個名為InsertRand 的預存程序,它會循環並將隨機值插入表中:

<code class="sql">DELIMITER $$
CREATE PROCEDURE InsertRand(IN NumRows INT, IN MinVal INT, IN MaxVal INT)
BEGIN
    DECLARE i INT;
    SET i = 1;
    START TRANSACTION;
    WHILE i <= NumRows DO
        INSERT INTO rand_numbers VALUES (MinVal + CEIL(RAND() * (MaxVal - MinVal)));
        SET i = i + 1;
    END WHILE;
    COMMIT;
END$$
DELIMITER ;</code>

3.呼叫預存程序

使用所需的行數、最小值和最大值呼叫InsertRand 過程:

<code class="sql">CALL InsertRand(1111, 2222, 5555);</code>

範例

插入600將1200 到8500 之間的隨機值放入rand_numbers 表中:

<code class="sql">CALL InsertRand(600, 1200, 8500);</code>

重用過程

您可以重複使用InsertRand 過程,透過使用不同的參數呼叫它來為不同範圍和表格產生隨機值.

以上是如何使用預存程序以隨機數填入 MySQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn