sql >> Database teknologi >  >> RDS >> Mysql

Hvordan udfylder jeg en MySQL-tabel med mange tilfældige tal?

For at oprette tabellen skal du bruge:

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

For derefter at udfylde den med tilfældige værdier, kan du definere en lagret procedure (som understøtter 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);

Så kan du genbruge den procedure til at indsætte flere tilfældige værdier baseret på forskellige parametre.. siger 600 rækker med tilfældige værdier mellem 1200 og 8500:

CALL InsertRand(600, 1200, 8500);


  1. Sjovt med beskeder

  2. Mysql utf32_unicode_ci og html charset utf-8 brugt, men tegn � vises

  3. SQL Server konverter streng til datetime

  4. Ordliste over SQL Server-forespørgsler — A Stick Shift for DBA'er