2010-08-04 2 views
24

Es gibt zu viele Tabellen in einer Datenbank. Wie kann ich nur Tabellen mit bestimmten Mustern anzeigen? Oder gibt es eine Möglichkeit, wie ich im Shell-Befehl paging wie "| more" machen kann?Zeige nur Tabellen mit bestimmten Mustern in Mysql "Tabellen anzeigen"

+0

nicht für mysql, aber für Oracle, können Sie tun "wählen Sie * aus der Katze wo Tabellenname wie '% xxxx'". die gleiche Funktionalität muss für mysql existieren – KevinDTimm

Antwort

43
show tables like 'pattern'; 
+0

Ich fand auch 'zeige Tabellen wie '% pattern%';' funktioniert auch:) – michaelmcgurk

+1

@michaelmcgurk ,% ist der Platzhalter in einer beliebigen Anweisung. Daher war es richtig ... das Muster kann alles sein, was Sie suchen, einschließlich Platzhalter. –

1

Sie müssen show tables nicht verwenden, Sie können auch information_schema.TABLES mit einem beliebigen Filter abfragen.

+0

Können Sie ein Beispiel oder einen Link geben? Wo befindet sich das information_schema.TABLES? – Despertar

+0

Information_schema ist eine MySQL-System-DB. Sie können http://dev.mysql.com/doc/refman/5.0/en/information-schema.html für Details überprüfen – a1ex07

-4

dies kann einen Blick auf alle Tabellen

select * from tab; 

und identifizieren Sie die Spaltennamen haben verwendet werden. Danach verwendet

select * from tab where tname like '%D_'; 
+0

Das ist falsch. Dies würde eine Tabelle abfragen und keine Tabellen anzeigen, die einen Musternamen für eine Tabelle hätten – Twister1002

1
  • Verwendung zeigen Tabellen wie 'Muster'
  • Muster sind eine Zeichenkette mit Wildcard-Zeichen "%", "_"
  • % entspricht eine beliebige Anzahl von Zeichen, auch Null Figuren.
  • _ entspricht genau einem Zeichen.

zum Beispiel:

  • zeigen Tabellen wie 'test%' Tabellen filtern wird wie "test1, testF, test111, testFoo"

  • zeigen Tabellen wie 'test_' filtert Tabellen wie "test1, testF"