V MariaDB SHOW TABLES
je administrativní příkaz, který obsahuje seznam neTEMPORARY
tabulky, sekvence a pohledy v dané databázi.
Syntaxe
Syntaxe vypadá takto:
SHOW [FULL] TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
Příklad
Zde je příklad k demonstraci:
SHOW TABLES;
Výsledek:
+------------------------+ | Tables_in_krankykranes | +------------------------+ | Customers | | Dogs | | Gameshow | | OrderItems | | Orders | | PetShow | | Pets | | Products | | Vendors | | t1 | +------------------------+
To nám ukazuje tabulky v aktuální databázi, což je v tomto případě KrankyKranes
databáze.
Zobrazit typ tabulky
Můžeme použít FULL
modifikátor, který vrátí typ tabulky:
USE sakila;
SHOW FULL TABLES;
Výsledek:
+----------------------------+------------+ | 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 | +----------------------------+------------+
Zde jsem přešel na Sakila
databázi a poté spusťte SHOW FULL TABLES
. Vidíme, že některé z vrácených tabulek jsou ve skutečnosti pohledy.
Jak již bylo zmíněno, příkaz vrací tabulky, sekvence a pohledy.
LIKE
Ustanovení
LIKE
klauzule, pokud je přítomna samostatně, označuje, které názvy tabulek mají odpovídat:
SHOW FULL TABLES
LIKE 'f%';
Výsledek:
+-----------------------+------------+ | 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
Ustanovení
WHERE
klauzuli lze použít k filtrování výsledků na základě daných kritérií:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Výsledek:
+------------------+------------+ | 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 | +------------------+------------+
Můžeme také použít WHERE
klauzuli proti prvnímu sloupci pomocí Tables_in_dbname
konvence, kde dbname
je název databáze:
SHOW FULL TABLES
WHERE Tables_in_sakila = 'customer';
Výsledek:
+------------------+------------+ | Tables_in_sakila | Table_type | +------------------+------------+ | customer | BASE TABLE | +------------------+------------+