Wie listet ich alle Tabellen auf, die einen bestimmten Spaltennamen enthalten? Ich benutze Mysql Version 4.1.13-nt-log. Ich weiß Versionen weniger als 5 haben keine information_scheme DB.Alle Tabellen auflisten, die einen bestimmten Spaltennamen enthalten
13
A
Antwort
0
try this:
mysqldump -u root -p –all-databases –single-transaction > all.sql
und führen Sie dann die Suche der die Old-School-Weg in einem Texteditor mit finden
fand auch dieses ... sieht vielversprechend aus, aber ich bin nicht sicher, wie ehrgeizig Sie sind
http://mike.kruckenberg.com/presentations/Creating_INFORMATION_SCHEMA.pdf
+0
Eine nette einfache Lösung, aber ich würde die Verwendung der No-Daten empfehlen Option, da alles, was Sie interessieren, ist das Schema ... –
29
Suche alle Tabellen und Spalten, in denen Spaltennamen wie der Suchbegriff sind:
SELECT DISTINCT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%partial_column_name%'
AND TABLE_SCHEMA='YourDatabase';
-2
select table_name,column_name,data_type,data_length
from user_tab_columns
where column_name LIKE 'WHATEVER_U_WANT'
;
0
viel leichter
SELECT DISTINCT TABLE_NAME FROM your_schema.columns WHERE column_name = 'your_column_name';
eine Gegenfrage: Warum brauchen Sie das? :) – Bozho
Wenn Sie ernsthaft wollen, können Sie Ergebnisse für SHOW TABLES und SHOW COLUMNS FROM in eine Textdatei in der Befehlszeile ausgeben und dann Perl und grep für die Suche verwenden – Yada