Comment rechercher un nom de colonne spécifique dans toutes les tables de MySQL Workbench?


14

Dans MySQL Workbench, est-il possible de rechercher un nom de colonne spécifique dans toutes les tables?

(Écrire la chaîne à rechercher dans le champ en haut à droite ne fait rien).

Je vous remercie.

Réponses:


21

Vous pouvez utiliser la INFORMATION_SCHEMAbase de données et la COLUMNStable en particulier Exemple d'utilisation:

SELECT 
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE table_schema = 'myDatabase'     --- the database you want to search 
  AND column_name = 'name' ;          --- or: column_name LIKE '%name%' 

8

Pour développer la réponse de @ ypercube (il obtient un +1), si vous ne savez pas à quelle base de données réside la table, procédez comme suit :

SELECT 
    table_schema,
    table_name, 
    column_name, 
    data_type,
    ordinal_position

FROM  INFORMATION_SCHEMA.COLUMNS 

WHERE column_name = 'name' ;          --- or: column_name LIKE '%name%' 

3

Dans MySQL Workbench (v6.3) (Windows):

  • Cliquez avec le bouton droit sur une table.
  • Cliquez avec le bouton gauche sur "Maintenance de la table ..." après un délai ...
  • Cliquez avec le bouton gauche de la souris sur l'onglet "Colonnes".

Cela montre une grille triable de table, colonne, ...

  • Cliquez avec le bouton gauche sur "Colonne" dans l'en-tête de la grille pour trier tous les noms de colonnes, quel que soit le tableau. Donc des colonnes du même nom ensemble.

Malheureusement, le tri n'est pas stable. Donc, au départ, le tri par table, puis la colonne ne conserve pas l'ordre des noms de table dans un groupe de noms de colonnes identiques.

La grille est lente à s'ouvrir, mais il est ensuite rapide de trouver des groupes de colonnes.

Il ne recherche pas dans les bases de données.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.