Heim  >  Artikel  >  Datenbank  >  Wie fülle ich eine MySQL-Tabelle mithilfe gespeicherter Prozeduren mit Zufallszahlen?

Wie fülle ich eine MySQL-Tabelle mithilfe gespeicherter Prozeduren mit Zufallszahlen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 07:56:02317Durchsuche

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

MySQL-Tabelle mithilfe gespeicherter Prozeduren mit Zufallszahlen füllen

Problemstellung

Erstellen Sie eine MySQL-Tabelle mit dem Namen rand_numbers mit einer einzelnen Spalte namens Zahl vom Typ INT . Füllen Sie die Tabelle mit 1111 Zufallszahlen zwischen 2222 und 5555.

Lösung

Um die Rand_Numbers-Tabelle mit gespeicherten MySQL-Prozeduren zu erstellen und zu füllen, führen Sie die folgenden Schritte aus:

1. Erstellen Sie die Tabelle

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

2. Erstellen Sie die gespeicherte Prozedur

Definieren Sie eine gespeicherte Prozedur namens „InsertRand“, die eine Schleife durchführt und Zufallswerte in die Tabelle einfügt:

<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. Rufen Sie die gespeicherte Prozedur auf

Rufen Sie die InsertRand-Prozedur mit der gewünschten Anzahl von Zeilen, Mindestwert und Höchstwert auf:

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

Beispiel

Zum Einfügen von 600 Zufallswerte zwischen 1200 und 8500 in die Tabelle „rand_numbers“ einfügen:

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

Wiederverwendung der Prozedur

Sie können die Prozedur „InsertRand“ wiederverwenden, um Zufallswerte für verschiedene Bereiche und Tabellen zu generieren, indem Sie sie mit unterschiedlichen Parametern aufrufen .

Das obige ist der detaillierte Inhalt vonWie fülle ich eine MySQL-Tabelle mithilfe gespeicherter Prozeduren mit Zufallszahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn