web-dev-qa-db-fra.com

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

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.

15
Pietro

Vous pouvez utiliser le INFORMATION_SCHEMA base de données et la table COLUMNS 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%' 
22
ypercubeᵀᴹ

Pour développer réponse de @ ypercube (Il obtient un +1), si vous ne savez pas dans quelle base de données se trouve 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%' 
8
RolandoMySQLDBA

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

  • Cliquez avec le bouton droit sur n'importe lequel table.
  • Cliquez avec le bouton gauche sur "Maintenance de la table ..." après un délai ...
  • Cliquez avec le bouton gauche 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 ensuite il est rapide de trouver des groupes de colonnes.

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

3
Andrew Dennison