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;
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;
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;
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;
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);
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;
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!