WernerK: Spaltennamen suchen?

Hi Forum,
angenommen eine MySQL DB hat 100 Tabellen. In 15 Tabellen kommt immer wieder der Spaltenname "CountryID" vor.
Kann man irgendwie (mit PhpMyAdmin oder SQL Abfrage) eine Suche machen, wo alle entsprechenden Tabellen ausgegeben werden?
Also Quasi;
SELECT .. WHERE Spaltename = "CountryID"

Danke
Gruss
Werner

  1. moin,

    Kann man irgendwie (mit PhpMyAdmin oder SQL Abfrage) eine Suche machen, wo alle entsprechenden Tabellen ausgegeben werden?

    jedes dbms besitzt sogenannte metadaten, sprich daten über die den aufbau der daten. diese sind genauso wie dein produktionsdaten in tabellen gespeichert und können auf gleiche weise abgefragt werden. man muss also nur über wissen, wie diese tabellen heißen und über die berechtigung verfügen, sie auslesen zu können. ich kann dir leider nur sagen, wie diese tabellen bei oracle heißen, be mysql kannst du aber in die doku schauen oder warten, bis dir hier jemand antwortet, der es aus dem kopf weiß;-)

    Ilja

  2. Hallo,

    angenommen eine MySQL DB hat 100 Tabellen. In 15 Tabellen kommt immer wieder der Spaltenname "CountryID" vor.
    Kann man irgendwie (mit PhpMyAdmin oder SQL Abfrage) eine Suche machen, wo alle entsprechenden Tabellen ausgegeben werden?

    ja, selbstverständlich

    Also Quasi;

    nicht nur quasi.

    SELECT .. WHERE Spaltename = "CountryID"

    Nutze die Datenbank INFORMATION_SCHEMA (MySQL 5.0 oder neuer vorausgesetzt):

    -- Auswahl der aktuell zu verwendenden Datenbank  
    USE INFORMATION_SCHEMA;  
      
    -- Abfrage der Tabellen, die Spalten eines bestimmten Namens enthalten.  
    SELECT  
        TABLE_NAME  
    FROM  
        [link:http://dev.mysql.com/doc/refman/5.0/en/columns-table.html@title=COLUMNS]  
    WHERE  
        COLUMN_NAME = 'CountryID';  
    
    

    Veraltet (aber bei älteren MySQL-Versionen erforderlich) ist die proprietäre SHOW-Syntax.

    Freundliche Grüße

    Vinzenz