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

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

Patricia Arquette
リリース: 2024-10-25 01:50:02
オリジナル
863 人が閲覧しました

How to Efficiently Populate a MySQL Table with Random Numbers using a Stored Procedure?

MySQL テーブルに乱数を設定する: 手続き型アプローチ

MySQL テーブルの作成と乱数の設定は、外部言語や過度に一般的なソリューションを使用するのではなく、MySQL プロンプトを使用します。これを簡単なストアド プロシージャで実現する方法は次のとおりです。

テーブルの作成:

<code class="sql">CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;</code>
ログイン後にコピー

データ入力のストアド プロシージャ:

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

特定のパラメータを入力:

「rand_numbers」テーブルに 2222 から 5555 までの 1111 行の乱数を入力するには:

<code class="sql">CALL InsertRand(1111, 2222, 5555);</code>
ログイン後にコピー

さまざまなパラメータでの再利用:

ストアド プロシージャを再利用して、さまざまなパラメータに基づいてよりランダムな値を挿入できます。たとえば、1200 ~ 8500 のランダムな値を含む 600 行を挿入するには:

<code class="sql">CALL InsertRand(600, 1200, 8500);</code>
ログイン後にコピー

このストアド プロシージャのアプローチを使用すると、MySQL テーブルに乱数を簡単に入力でき、行数を柔軟にカスタマイズできます。行と値の範囲。

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

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