W MariaDB SHOW TABLES
jest oświadczeniem administracyjnym, które zawiera listę TEMPORARY
tabele, sekwencje i widoki w danej bazie danych.
Składnia
Składnia wygląda tak:
SHOW [FULL] TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
Przykład
Oto przykład do zademonstrowania:
SHOW TABLES;
Wynik:
+------------------------+ | Tables_in_krankykranes | +------------------------+ | Customers | | Dogs | | Gameshow | | OrderItems | | Orders | | PetShow | | Pets | | Products | | Vendors | | t1 | +------------------------+
To pokazuje nam tabele w bieżącej bazie danych, która w tym przypadku jest KrankyKranes
baza danych.
Pokaż typ tabeli
Możemy użyć FULL
modyfikator zwracający typ tabeli:
USE sakila;
SHOW FULL TABLES;
Wynik:
+----------------------------+------------+ | Tables_in_sakila | Table_type | +----------------------------+------------+ | actor | BASE TABLE | | address | BASE TABLE | | category | BASE TABLE | | city | BASE TABLE | | country | BASE TABLE | | customer | BASE TABLE | | customer_list | VIEW | | film | BASE TABLE | | film_actor | BASE TABLE | | film_category | BASE TABLE | | film_list | VIEW | | film_text | BASE TABLE | | inventory | BASE TABLE | | language | BASE TABLE | | nicer_but_slower_film_list | VIEW | | payment | BASE TABLE | | rental | BASE TABLE | | sales_by_film_category | VIEW | | sales_by_store | VIEW | | staff | BASE TABLE | | staff_list | VIEW | | store | BASE TABLE | +----------------------------+------------+
Tutaj przełączyłem się na Sakila
bazy danych, a następnie uruchomił SHOW FULL TABLES
. Widzimy, że niektóre z zwracanych tabel są w rzeczywistości widokami.
Jak wspomniano, instrukcja zwraca tabele, sekwencje i widoki.
LIKE
Klauzula
LIKE
klauzula, jeśli występuje samodzielnie, wskazuje nazwy tabel do dopasowania:
SHOW FULL TABLES
LIKE 'f%';
Wynik:
+-----------------------+------------+ | Tables_in_sakila (f%) | Table_type | +-----------------------+------------+ | film | BASE TABLE | | film_actor | BASE TABLE | | film_category | BASE TABLE | | film_list | VIEW | | film_text | BASE TABLE | +-----------------------+------------+
WHERE
Klauzula
WHERE
klauzula może być użyta do filtrowania wyników na podstawie podanych kryteriów:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Wynik:
+------------------+------------+ | Tables_in_sakila | Table_type | +------------------+------------+ | actor | BASE TABLE | | address | BASE TABLE | | category | BASE TABLE | | city | BASE TABLE | | country | BASE TABLE | | customer | BASE TABLE | | film | BASE TABLE | | film_actor | BASE TABLE | | film_category | BASE TABLE | | film_text | BASE TABLE | | inventory | BASE TABLE | | language | BASE TABLE | | payment | BASE TABLE | | rental | BASE TABLE | | staff | BASE TABLE | | store | BASE TABLE | +------------------+------------+
Możemy również użyć WHERE
klauzula w stosunku do pierwszej kolumny za pomocą Tables_in_dbname
konwencja, gdzie dbname
to nazwa bazy danych:
SHOW FULL TABLES
WHERE Tables_in_sakila = 'customer';
Wynik:
+------------------+------------+ | Tables_in_sakila | Table_type | +------------------+------------+ | customer | BASE TABLE | +------------------+------------+