MySQL Tableaux de récupération avec une colonne spécifique

MySQL Tableaux de récupération avec une colonne spécifique
«Dans cet article, vous apprendrez à récupérer les tables qui contiennent une colonne spécifique. Pour ce tutoriel, nous utiliserons les bases de données de Sakila. Vous pouvez consulter la documentation MySQL pour apprendre à importer la base de données de Sakila."

Problème

Notre objectif est de récupérer toutes les tables qui contiennent la colonne «First_name» dans la base de données Sakila. Explorons les méthodes que nous pouvons utiliser pour y parvenir.

Solution

Nous pouvons utiliser l'information_schema.Table des colonnes pour récupérer les tables contenant la colonne "First_name". Nous pouvons ensuite filtrer les résultats par le schéma pour obtenir les tables uniquement disponibles dans la base de données Sakila.

La requête est comme indiqué:

sélectionner
TABLEAU DISTINCE_NAM
depuis
information_schema.'Colonnes' C

Column_name dans ('first_name')
et table_schema = 'Sakila';

La requête ci-dessus devrait récupérer les tables contenant la colonne «First_name» dans la base de données Sakila. La sortie résultante est comme indiqué:

Dans ce cas, l'acteur, l'acteur_info, le client et les tables du personnel contiennent la colonne «First_name».

Nous pouvons également utiliser la fonction de base de données () pour filtrer les tables dans notre base de données actuellement sélectionnée. Exemple:

Utilisez Sakila;
sélectionner
TABLEAU DISTINCE_NAM
depuis
information_schema.'Colonnes' C

Column_name dans ('first_name')
et table_schema = database ();

La fonction de base de données () renvoie la base de données actuellement sélectionnée. Dans notre cas, cette base de données est définie sur Sakila, comme indiqué dans l'instruction Utilisation.

Solution 2

Vous pouvez également utiliser l'opérateur similaire pour récupérer les tables contenant une colonne spécifique. Un exemple est comme indiqué:

sélectionner
nom de la table
depuis
information_schema.'Colonnes' C

Column_name comme 'First_%';

Dans ce cas, comme nous ne filtrons pas pour une base de données particulière, la commande renvoie toutes les tables de toutes les bases de données, comme indiqué dans la sortie ci-dessous:

Conclusion

Dans cet article, vous avez découvert comment récupérer les tables qui contiennent une colonne spécifique dans le serveur MySQL.

Codage heureux!!