Maison > base de données > tutoriel mysql > Comment parcourir les noms de colonnes MySQL à l'aide de SQL natif ?

Comment parcourir les noms de colonnes MySQL à l'aide de SQL natif ?

Linda Hamilton
Libérer: 2024-12-29 12:12:10
original
248 Les gens l'ont consulté

How to Iterate Through MySQL Column Names Using Native SQL?

Itérer les noms de colonnes dans MySQL à l'aide de SQL natif

Pour récupérer et parcourir les noms de colonnes dans une table MySQL à l'aide de SQL, envisagez d'utiliser l'approche suivante :

1. Récupération des noms de colonnes

Utilisez l'instruction SHOW COLUMNS FROM [table_name] pour récupérer une liste de tous les noms de colonnes dans la table spécifiée. Cette commande génère un ensemble de résultats où chaque ligne représente une seule colonne et contient des métadonnées telles que le nom de la colonne.

SHOW COLUMNS FROM table_name;
Copier après la connexion

2. Création d'un curseur

Pour activer le traitement itératif des noms de colonnes, créez un curseur en utilisant la syntaxe DECLARE col_names CURSOR FOR, où col_names représente le nom du curseur. Dans la définition du curseur, spécifiez une requête pour récupérer les noms de colonnes, en vous assurant qu'ils sont classés par leurs positions ordinales.

DECLARE col_names CURSOR FOR
SELECT column_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'
ORDER BY ordinal_position;
Copier après la connexion

3. Détermination du nombre de colonnes

Pour faciliter le contrôle des boucles, exécutez la fonction FOUND_ROWS() et stockez le résultat dans une variable, num_rows. Cette valeur représente le nombre total de lignes (et donc de colonnes) récupérées par la requête curseur.

SELECT FOUND_ROWS() INTO num_rows;
Copier après la connexion

4. Itération sur les colonnes

Entrez dans la boucle à l'aide de l'instruction SET i = 1, où i est une variable itératrice initialisée à 1. À l'intérieur de la boucle, utilisez l'instruction FETCH col_names INTO col_name pour récupérer chaque nom de colonne. séquentiellement dans la variable col_name.

SET i = 1;
the_loop: LOOP

   IF i > num_rows THEN
        CLOSE col_names;
        LEAVE the_loop;
    END IF;


    FETCH col_names 
    INTO col_name;     //do whatever else you need to do with the col name

    SET i = i + 1;  
END LOOP the_loop;
Copier après la connexion

5. Exécution de procédures stockées

Dans la boucle, vous pouvez éventuellement exécuter des procédures stockées en utilisant les noms de colonnes comme variables. Par exemple, l'instruction suivante appelle une procédure stockée nommée sp_my_proc, en passant le col_name comme paramètre :

CALL sp_my_proc(col_name);
Copier après la connexion

6. Fermeture du curseur

Après avoir terminé la boucle, fermez le curseur à l'aide de l'instruction CLOSE pour libérer toutes les ressources associées :

CLOSE col_names;
Copier après la connexion

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