Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Różne sposoby przeglądania tabel w MySQL Server

Istnieją dwie podstawowe metody przeglądania tabel w MySQL:

  1. POKAŻ MYSQL STOŁY polecenie.
  2. Przesyłanie zapytań do Information_schema.tables stół.

W tym artykule omówimy je obie.

Polecenie MySQL SHOW TABLES

Polecenie show tables wyświetla listę wszystkich tabel utworzonych w bazie danych. Składnia jest następująca:

SHOW [EXTENDED] | [FULL] TABLES
    [{FROM} database_name]
    [LIKE 'DBNamePattern']

W składni

  1. Modyfikatory :Do przeglądania tabel możemy użyć dowolnej z następujących opcji:
    1. ROZSZERZONE – ta opcja wypełnia listę tabel, które zostały utworzone przez nieudane instrukcje ALTER TABLE.
    2. PEŁNE – ta opcja pokazuje dodatkową kolumnę, która podaje typ tabeli. Może to być tabela bazowa, widok lub widok systemowy.
  2. OD – jeśli chcesz wypełnić listę tabel z konkretnej tabeli, możesz użyć słowa kluczowego FROM.
  3. LUBIĘ – jeśli chcesz zapełnić listę tabel określonym wzorem w ich nazwach, możesz użyć słowa kluczowego LIKE.

Zobaczmy przykłady.

Przykład 1:Pokaż wszystkie tabele utworzone w określonej bazie danych

Aby wyświetlić wszystkie tabele MySQL utworzone w Sakili bazy danych, użyj modyfikatora FULL i słowa kluczowego FROM. Uruchom następujące polecenie:

mysql> SHOW TABLES FROM sakila;

Wyjście

Jak widać, zapytanie wypełniło listę tabel z Sakila baza danych.

Przykład 2:Wypełnij listę tabel określonym wzorcem słów kluczowych

Załóżmy, że chcemy uzyskać listę tabel, których nazwy zaczynają się od słowa kluczowego film . Używamy słowa kluczowego LIKE, aby dopasować wzorzec.

Ale kiedy używamy LIKE słowo kluczowe, nie możemy użyć OD modyfikator. Zapytanie jest następujące:

use sakila;
SHOW TABLES like 'film%'

Wyjście

Przykład 3:Wypełnij listę tabel jej typem

Aby wypełnić listę tabel ich typem, możemy użyć FULL modyfikator. Załóżmy, że chcemy uzyskać listę tabel wraz z ich typami utworzonymi w bazie danych Sakila. Zobacz następujące zapytanie:

mysql> SHOW FULL TABLES FROM sakila;

Wyjście

Teraz wypełnijmy listę tabel z information_schema.tables .

Odpytywanie tabeli Information_schema.tables

Aby wyświetlić tabele MySQL, możemy użyć information_schema.tables tabela zawierająca następujące informacje:

  • Table_Schema :Nazwa bazy danych lub schematu, w którym utworzono tabelę.
  • Nazwa_tabeli: Nazwa tabeli.
  • Table_type: Rodzaj tabeli. Może to być dowolne z poniższych:
    • Widok systemu: Lista widoków systemowych. Zawiera informacje o wewnętrznych danych bazy danych. Widoki te są tworzone przez połączenie wielu tabel bazowych z informacjami z bazy danych.
    • Tabela podstawowa: Lista tabel podstawowych może być tabelami użytkownika lub tabelami systemowymi.
    • Widok: Lista widoków zdefiniowanych przez użytkownika.
  • Silnik :Nazwa silnika bazy danych, w którym utworzono tabelę.
  • Wersja :numer wersji pliku .frm plik tabeli.
  • Format_wiersza :Format przechowywania wierszy. Format przechowywania wierszy może być jednym z następujących:
    • Naprawiono
    • Skompresowany
    • Zbędne
    • Dynamiczny
    • Kompaktowy
  • Table_rows :Liczba wierszy w tabeli. Jeśli używasz tabel InnoDB, zwraca szacunkową liczbę wierszy. Aby uzyskać dokładną liczbę wierszy, użyj SELECT COUNT(*) zapytanie.
  • Avg_row_length :Średnia długość wiersza w pliku danych.
  • Długość_danych :jeśli używasz tabel MyISAM, wartość data_length kolumna to długość pliku danych. Jeśli używasz tabel InnoDB, wartość Długości_danych kolumna to wielkość rozmiaru przydzielonego do klastrowanego indeksu pomnożona przez rozmiar strony InnoDB.
  • Max_data_length: Maksymalna dozwolona długość pliku danych. Jest to liczba bajtów, które można przechowywać w tabeli.
  • Index_length: Długość indeksu. Jeśli używasz tabel MyISAM, wartość index_length kolumna pokazuje rozmiar indeksu. Jeśli używasz tabel InnoDB, wartość index_length kolumna to całkowity rozmiar wszystkich nieklastrowanych indeksów pomnożony przez rozmiar strony.
  • Bez danych :Całkowita liczba przydzielonych, ale niewykorzystanych bajtów. Jeśli używasz tabeli InnoDB, wartość data_free kolumna to niewykorzystana przestrzeń przestrzeni tabel, w której utworzono tabelę.
  • Automatyczna inkrementacja: Wartość Auto_increment kolumna jest następną wartością automatycznego przyrostu.
  • Czas utworzenia :Data i godzina utworzenia tabeli. Kiedy przywracamy bazę danych, wartość data_tworzenia będzie to czas przywrócenia bazy danych.
  • Czas_aktualizacji :Data i godzina aktualizacji pliku danych. Wyświetla znacznik czasu ostatnich instrukcji INSERT, UPDATE lub DELETE wykonanych w tabelach InnoDB.
  • Czas_czeku: Data i godzina ostatniego sprawdzenia tabeli.
  • Układanie_tabeli :Nazwa domyślnego sortowania tabeli.
  • Suma kontrolna :Wartość sumy kontrolnej.
  • Utwórz_opcję :Dodatkowa opcja konfiguracji, która została użyta do stworzenia tabeli.
  • Table_comment :Komentarz lub informacje użyte podczas tworzenia tabeli.

Przykład 1:Wypełnij listę wszystkich tabel

Załóżmy, że chcemy wypełnić wszystkie tabele utworzone we wszystkich bazach danych. Zapytanie jest następujące:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;

Wyjście

Jak widać, zapytanie wypełniło listę tabel nazwą bazy danych i czasem utworzenia. Zapytanie zwróciło wiele rekordów, więc dane wyjściowe są przycinane.

Przykład 2:Wypełnij listę wszystkich tabel utworzonych w określonej bazie danych

Aby wypełnić listę tabel utworzonych w Sakili bazy danych, możesz zastosować filtr na Table_Schema kolumna:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';

Wyjście

Jak widać, zapytanie zwróciło listę tabel i widoków utworzonych w bazie danych Sakila, czas jej utworzenia i typ.

Przykład 3:Wypełnij listę wszystkich tabel liczbą wierszy

Możemy uwzględnić Table_rows kolumna, aby wyświetlić liczbę wierszy tabel MySQL. Załóżmy, że chcesz uzyskać listę tabel, których nazwa zaczyna się od film . Dane wyjściowe muszą zawierać liczbę rekordów w tych tabelach.

mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';

Wyjście

Przykład 4:Wypełnij liczbę tabel i widoków

Na przykład chcemy uzyskać liczbę tabel i widoków utworzonych w bazie danych. Aby to zrobić, uruchom następujące zapytanie:

mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables  group by table_type,table_schema;

Wyjście

Jak widać na powyższym obrazku, zapytanie wypełniło liczbę tabel i widoków utworzonych we wszystkich bazach danych.

Przykład 5:Tabele z ich rozmiarami

Teraz chcemy wypełnić listę tabel utworzonych w Sakili bazy danych wraz z ich rozmiarem. Aby wygenerować listę, uruchom następujące zapytanie:

mysql> SELECT Table_schema as 'Database Name',  TABLE_NAME AS 'Table',   ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM   information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY  (DATA_LENGTH + INDEX_LENGTH) DESC;

Wyjście

Jak widać, zapytanie zwróciło nazwę bazy danych, nazwę tabeli i rozmiar.

Podsumowanie

W ten sposób zdefiniowaliśmy i nauczyliśmy się korzystać z metod zapełniania listy tabel tworzonych w bazie danych. Przyjrzeliśmy się SHOW STOŁY polecenie, a następnie zbadaliśmy metodę odpytywania Information_schema.tables stół. Mamy nadzieję, że te wskazówki przydadzą się w Twojej pracy.

Jeśli chcesz dowiedzieć się więcej o tabelach w SQL, przeczytaj artykuł o tabelach tymczasowych w SQL Server. A jeśli chcesz coś dodać, podzielić się wskazówkami dotyczącymi pracy lub omówić te metody, zapraszamy do sekcji Komentarze.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć wiele wierszy w jedną kolumnę w MySQL?

  2. JSON_STORAGE_SIZE() – Znajdź rozmiar przechowywania dokumentu JSON w MySQL

  3. Jak wyeksportować bazę danych za pomocą wiersza poleceń

  4. mysql:dlaczego porównanie 'ciągu' do 0 daje prawdę?

  5. Symuluj funkcję opóźnienia w MySQL