Wie finde ich alle Tabellen in MySQL mit bestimmten Spaltennamen?
Habe ich 2-3 verschiedene Spaltennamen, die ich nachschlagen möchten in der gesamten DB und Liste alle Tabellen haben die Spalten. Keine einfache Skript?
Kommentar zu dem Problem
InformationsquelleAutor der Frage Jobi Joy | 2008-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um alle Tabellen mit Spalten
columnA
oderColumnB
in der DatenbankYourDatabase
:InformationsquelleAutor der Antwort Ken
InformationsquelleAutor der Antwort GSerg
Mehr einfach in eine Zeile des SQL:
InformationsquelleAutor der Antwort Xman Classical
InformationsquelleAutor der Antwort baycaysoi
In der version, die nicht
information_schema
(ältere Versionen, oder einige ndb ' s) sichern Sie die Struktur der Tabelle und suchen Sie die Spalte manuell.Suchen Sie nun den Namen der Spalte in
some_file.sql
mit Ihrem bevorzugten text-editor, oder verwenden Sie einige nette awk-Skripten.Und ein einfaches sed-Skript finden Sie die Spalte, ersetzen Sie einfach COLUMN_NAME mit Ihr:
Können Sie eine pipe dump direkt in der sed, aber das ist trivial.
InformationsquelleAutor der Antwort Radu Maris
Für die Suche nach der inversen, also der Suche nach Tabellen, die nicht enthalten eine bestimmte Spalte name, hier ist die Abfrage...
Kamen diese in wirklich praktisch, wenn wir begannen langsam zu implementieren, die Verwendung von InnoDB-spezielle
ai_col
Spalte und notwendig, um herauszufinden, welche unserer 200 Tabellen mussten noch aktualisiert werden.InformationsquelleAutor der Antwort oucil
Wenn Sie wollen ", Um alle Tabellen nur", Dann benutzen Sie diese Anfrage:
Wenn Sie wollen ", Um alle Tabellen mit Spalten", Dann benutzen Sie diese Anfrage:
InformationsquelleAutor der Antwort Shivendra Prakash Shukla
Verwenden Sie diese eine Zeile Abfrage ersetzen desired_column_name durch Ihre Spalte name.
InformationsquelleAutor der Antwort António Delgado
InformationsquelleAutor der Antwort nageen nayak