Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie fülle ich eine MySQL-Tabelle mit vielen Zufallszahlen?

Verwenden Sie zum Erstellen der Tabelle:

CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;

Um es dann mit zufälligen Werten zu füllen, können Sie eine gespeicherte Prozedur (das Schleifen unterstützt):

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 ;

CALL InsertRand(1111, 2222, 5555);

Dann können Sie diese Prozedur wiederverwenden, um weitere Zufallswerte basierend auf verschiedenen Parametern einzufügen. Sagen wir 600 Zeilen mit Zufallswerten zwischen 1200 und 8500:

CALL InsertRand(600, 1200, 8500);