ホームページ > データベース > mysql チュートリアル > ストアド プロシージャを使用して MySQL テーブルに乱数を設定するにはどうすればよいですか?

ストアド プロシージャを使用して MySQL テーブルに乱数を設定するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-25 04:12:30
オリジナル
821 人が閲覧しました

How to populate a MySQL table with random numbers using a stored procedure?

ストアド プロシージャを使用して MySQL テーブルに乱数を設定する

MySQL テーブルに多数の乱数を設定するには、体系的なアプローチが必要です。この記事では、INT 型の 1 つの列 (数値) と 1111 行を含むテーブル (rand_numbers) を作成する方法を説明します。各行には 2222 から 5555 までの乱数が含まれます。

このタスクを実行するには、以下を使用します。必要な行数を反復処理し、指定された範囲 (MinVal および MaxVal) 内の乱数を rand_numbers テーブルに挿入するストアド プロシージャ (InsertRand)。この手順により、挿入プロセスが簡素化され、さまざまなデータ セットの再利用が可能になります。

テーブルの作成

まず、CREATE TABLE ステートメントを使用して rand_numbers テーブルが作成されます。

CREATE TABLE rand_numbers (number INT NOT NULL) ENGINE = MYISAM;
ログイン後にコピー

テーブルの作成

次に、InsertRand ストアド プロシージャを定義します。

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 ;
ログイン後にコピー

このプロシージャは 3 つのパラメータを取ります。 NumRows (挿入する行数)、MinVal (乱数の最小値)、および MaxVal (乱数の最大値)。

テーブルに 2222 から 2222 までの 1111 個の乱数を入力するには5555、次のステートメントが実行されます:

CALL InsertRand(1111, 2222, 5555);
ログイン後にコピー

プロシージャの再利用

InsertRand プロシージャを再利用して、異なるパラメータを持つ追加の乱数を挿入できます。たとえば、1200 ~ 8500 のランダムな値を含む 600 行を挿入するには:

CALL InsertRand(600, 1200, 8500);
ログイン後にコピー

この多用途ストアド プロシージャは、MySQL テーブルに大量の乱数を設定するための便利で効率的な方法を提供します。

以上がストアド プロシージャを使用して MySQL テーブルに乱数を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート