sql >> Databasteknik >  >> RDS >> Mysql

Hur fyller jag i en MySQL-tabell med många slumptal?

För att skapa tabellen använd:

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

För att sedan fylla den med slumpmässiga värden kan du definiera en lagrad procedur (som stöder looping):

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);

Sedan kan du återanvända den proceduren för att infoga fler slumpmässiga värden baserat på olika parametrar. säg 600 rader med slumpmässiga värden mellan 1200 och 8500:

CALL InsertRand(600, 1200, 8500);


  1. Skillnaden mellan N'String' vs U'String' bokstaver i Oracle

  2. Hur man använder rollerna som har ändrats i MySQL 8.0

  3. När ska jag använda ett sammansatt index?

  4. Hur anger man nyradstecken i Oracle?