2010-08-04 8 views
24

W bazie danych znajduje się zbyt wiele tabel. jak mogę wyświetlać tylko tabele z pewnymi wzorami? Czy istnieje sposób, w jaki mogę wykonać stronicowanie, takie jak "| more" w poleceniu powłoki?Pokazuj tylko tabele z pewnymi wzorami w tabelach "mysql"

+0

nie dla mysql, ale dla oracle, można zrobić "wybierz * od kota, gdzie nazwa_tabeli, jak"% xxxx "". ta sama funkcjonalność musi istnieć dla mysql – KevinDTimm

Odpowiedz

43
show tables like 'pattern'; 
+0

Znalazłem również 'show tables like '% pattern%';' works too:) – michaelmcgurk

+1

@michaelmcgurk % jest znakiem wieloznacznym w dowolnej instrukcji. Dlatego też był poprawny ... wzór może być wszystkim, czego szukasz, w tym znakami wieloznacznymi. –

1

Nie musisz używać show tables, możesz również wysłać zapytanie information_schema.TABLES za pomocą dowolnego filtra.

+0

Czy możesz podać przykład lub link? Gdzie znajduje się informacja_schemat.TABLES? – Despertar

+0

Information_schema jest bazą danych systemu MySQL. Możesz sprawdzić http://dev.mysql.com/doc/refman/5.0/en/information-schema.html po szczegóły – a1ex07

-4

ten może być używany, aby mieć wgląd wszystkich tabel

select * from tab; 

i zidentyfikować nazwy kolumn. Następnie użyj

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

To jest nieprawidłowe. Spowoduje to wysłanie zapytania do tabeli, a nie wyświetlanie tabel, które będą miały nazwę wzorca dla tabeli – Twister1002

1
  • użycie przedstawiają tabele jak 'wzór'
  • wzór ciąg przy użyciu symboli wieloznacznych "%", "_"
  • % Zastępuje dowolną liczbę znaków, nawet zerowy postacie.
  • _ dopasowuje dokładnie jeden znak.

na przykład:

  • przedstawiają tabele, jak 'test%' się filtrować tabele takie jak "1 Test, testF, test111, testFoo"

  • przedstawiają tabele, jak "test_" będzie filtrować tabele, takie jak "test1, testF"

Powiązane problemy