Maison > base de données > tutoriel mysql > Comment remplir une table MySQL avec des nombres aléatoires à l'aide de procédures stockées ?

Comment remplir une table MySQL avec des nombres aléatoires à l'aide de procédures stockées ?

Mary-Kate Olsen
Libérer: 2024-10-25 07:56:02
original
425 Les gens l'ont consulté

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

Remplir la table MySQL avec des nombres aléatoires à l'aide de procédures stockées

Énoncé du problème

Créer une table MySQL nommée rand_numbers avec une seule colonne nommée nombre de type INT . Remplissez la table avec 1111 nombres aléatoires entre 2222 et 5555.

Solution

Pour créer et remplir la table rand_numbers à l'aide de procédures stockées MySQL, suivez ces étapes :

1. Créez le tableau

<code class="sql">CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;</code>
Copier après la connexion

2. Créez la procédure stockée

Définissez une procédure stockée appelée InsertRand qui boucle et insère des valeurs aléatoires dans la table :

<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>
Copier après la connexion

3. Appelez la procédure stockée

Appelez la procédure InsertRand avec le nombre de lignes souhaité, la valeur minimale et la valeur maximale :

<code class="sql">CALL InsertRand(1111, 2222, 5555);</code>
Copier après la connexion

Exemple

Pour insérer 600 valeurs aléatoires comprises entre 1200 et 8500 dans la table rand_numbers :

<code class="sql">CALL InsertRand(600, 1200, 8500);</code>
Copier après la connexion

Réutilisation de la procédure

Vous pouvez réutiliser la procédure InsertRand pour générer des valeurs aléatoires pour différentes plages et tables en l'appelant avec différents paramètres .

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal