2016-08-08 28 views
1

Ich stehe vor einem kleinen Problem, ich habe eine Datenbank, die 180 Tabellen enthält. Wenn ich alle nacheinander durchgehen würde, würde ich meine Zeit verschwenden. Daher dachte ich, ich werde mich hier umsehen, um Hilfe zu bekommen.Alle Tabellennamen, die ein bestimmtes Schlüsselwort enthalten, in sich selbst finden

Das Problem, mit dem ich konfrontiert bin, ist, dass ich ein bestimmtes Schlüsselwort aus allen Tabellen und Spalten suchen möchte. Also sagen wir, dass ich eine Datenbank d mit den Tabellen t1, t2 usw. habe, alle Tabellen haben unterschiedliche Spaltennamen und die Zeichenfolge, die ich sehen möchte, muss LIKE '%connect%' sein.

--Edit: Um zu verdeutlichen, muss der% connect% innerhalb des Tabelleninhalts sein (d. H. Innerhalb einer Zeile einer Tabelle).

Wenn dies nicht durch eine einzige Abfrage möglich ist, können Sie mir möglicherweise in die richtige Richtung zeigen, wie dies programmgesteuert durchgeführt wird.

Vielen Dank und viele Grüße,

Janno

Antwort

3

Tabelle Die Namen der

select t.table_name from information_schema.tables t where t.table_name like '%connect%'; 

Spalte Die Namen der

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; 
+0

Hallo, danke für deine Antwort, herausgegeben ich die Frage um zu verdeutlichen, was ich meinte (dass das '% connect%' innerhalb einer Zeile in einer Tabelle ist, anstatt ein Tabellenname zu sein). Aber danke, weil ich nicht wusste, dass ich das information_schema so verwenden kann. +1! – Janno