Maison  >  Article  >  base de données  >  Comment remplir une table MySQL avec des nombres aléatoires à l'aide d'une procédure stockée ?

Comment remplir une table MySQL avec des nombres aléatoires à l'aide d'une procédure stockée ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-25 04:12:30734parcourir

How to populate a MySQL table with random numbers using a stored procedure?

Remplir une table MySQL avec des nombres aléatoires à l'aide d'une procédure stockée

Remplir une table MySQL avec de nombreux nombres aléatoires nécessite une approche systématique. Cet article montre comment créer une telle table (rand_numbers) avec une colonne (numéro) de type INT et 1111 lignes, où chaque ligne contient un nombre aléatoire compris entre 2222 et 5555.

Pour accomplir cette tâche, nous utilisons une procédure stockée (InsertRand) qui parcourt le nombre de lignes souhaité et insère des nombres aléatoires dans la plage spécifiée (MinVal et MaxVal) dans la table rand_numbers. Cette procédure simplifie le processus d'insertion et permet la réutilisation pour divers ensembles de données.

Création de la table

Tout d'abord, la table rand_numbers est créée à l'aide de l'instruction CREATE TABLE :

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

Remplir la table

Ensuite, la procédure stockée InsertRand est définie :

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 ;

Cette procédure prend trois paramètres : NumRows (le nombre de lignes à insérer), MinVal (la valeur minimale du nombre aléatoire) et MaxVal (la valeur maximale du nombre aléatoire).

Pour remplir le tableau avec 1111 nombres aléatoires entre 2222 et 5555, l'instruction suivante est exécutée :

CALL InsertRand(1111, 2222, 5555);

Réutilisation de la procédure

La procédure InsertRand peut être réutilisée pour insérer des nombres aléatoires supplémentaires avec différents paramètres. Par exemple, pour insérer 600 lignes avec des valeurs aléatoires comprises entre 1 200 et 8 500 :

CALL InsertRand(600, 1200, 8500);

Cette procédure stockée polyvalente fournit une méthode pratique et efficace pour remplir les tables MySQL avec de grands volumes de nombres aléatoires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn