ホームページ > データベース > mysql チュートリアル > MySQL テーブルにランダム データをプログラムで生成するにはどうすればよいですか?

MySQL テーブルにランダム データをプログラムで生成するにはどうすればよいですか?

DDD
リリース: 2024-10-25 01:48:02
オリジナル
484 人が閲覧しました

How to Programmatically Generate Random Data in a MySQL Table?

MySQL テーブルでのランダム データのプログラムによる生成

MySQL を使用する場合、テストやその他の目的でランダム データを生成することが必要になることがよくあります。これは、テーブル作成とデータ挿入クエリの組み合わせによって実現できます。

2222 から 2222 までのランダムな整数を保持する「number」という名前の 1 つの列を持つ「rand_numbers」というテーブルを作成する必要があるシナリオを考えてみましょう。 5555. テーブルには 1111 行が含まれている必要があります。

テーブルの作成

テーブルを作成するには、次のクエリを使用します:

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

ランダム データの挿入

テーブルにランダムな値を入力するには、ループをサポートするストアド プロシージャを使用できます。プロシージャのコードは次のとおりです。

<code class="mysql">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>
ログイン後にコピー

データを挿入するには、適切なパラメータを指定してプロシージャを呼び出します。

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

これにより、2222 から 5555 までの乱数を含む 1111 行が挿入されます。

プロシージャの再利用

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

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

ストアド プロシージャのアプローチを使用すると、テーブルを効率的に生成し、ランダムなデータを格納することができます。プロンプトから直接 MySQL データベースを実行します。

以上がMySQL テーブルにランダム データをプログラムで生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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