Spaltennamen suchen?
WernerK
- datenbank
0 Ilja1 Vinzenz Mai
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
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
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