Maison > base de données > tutoriel mysql > le corps du texte

Comment générer par programme des données aléatoires dans une table MySQL ?

DDD
Libérer: 2024-10-25 01:48:02
original
383 Les gens l'ont consulté

How to Programmatically Generate Random Data in a MySQL Table?

Génération par programmation de données aléatoires dans une table MySQL

Lorsque vous travaillez avec MySQL, il est souvent nécessaire de générer des données aléatoires à des fins de tests ou à d'autres fins. Ceci peut être réalisé grâce à une combinaison de requêtes de création de table et d'insertion de données.

Considérons un scénario dans lequel nous devons créer une table appelée "rand_numbers" avec une colonne nommée "number" contenant des entiers aléatoires entre 2222 et 5555. Le tableau doit contenir 1111 lignes.

Création du tableau

Pour créer le tableau, utilisez la requête suivante :

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

Insertion de données aléatoires

Pour remplir la table avec des valeurs aléatoires, nous pouvons utiliser une procédure stockée qui prend en charge la boucle. Voici le code de la procédure :

<code class="mysql">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

Pour insérer les données, appelez la procédure avec les paramètres appropriés :

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

Cela insérera 1111 lignes avec des nombres aléatoires compris entre 2222 et 5555 dans la table "rand_numbers".

Réutilisation de la procédure

La procédure stockée peut être réutilisée pour insérer des valeurs plus aléatoires en fonction de différents paramètres. Par exemple, pour insérer 600 lignes avec des valeurs aléatoires comprises entre 1 200 et 8 500, appelez la procédure comme suit :

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

En utilisant l'approche de procédure stockée, il est possible de générer et de remplir efficacement des tables avec des données aléatoires dans un Base de données MySQL directement à partir de l'invite.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!