I MariaDB, SHOW TABLES
är ett administrativt uttalande som listar den icke-TEMPORARY
tabeller, sekvenser och vyer i en given databas.
Syntax
Syntaxen ser ut så här:
SHOW [FULL] TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
Exempel
Här är ett exempel att visa:
SHOW TABLES;
Resultat:
+------------------------+ | Tables_in_krankykranes | +------------------------+ | Customers | | Dogs | | Gameshow | | OrderItems | | Orders | | PetShow | | Pets | | Products | | Vendors | | t1 | +------------------------+
Detta visar oss tabellerna i den aktuella databasen, som i det här fallet är KrankyKranes
databas.
Visa tabelltypen
Vi kan använda FULL
modifierare för att returnera tabelltypen:
USE sakila;
SHOW FULL TABLES;
Resultat:
+----------------------------+------------+ | 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 | +----------------------------+------------+
Här bytte jag till Sakila
databas och körde sedan SHOW FULL TABLES
. Vi kan se att några av de returnerade tabellerna faktiskt är vyer.
Som nämnts returnerar uttalandet tabeller, sekvenser och vyer.
LIKE
Klausul
LIKE
sats, om den finns ensam, indikerar vilka tabellnamn som ska matcha:
SHOW FULL TABLES
LIKE 'f%';
Resultat:
+-----------------------+------------+ | 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
Klausul
WHERE
sats kan användas för att filtrera resultaten baserat på ett givet kriterium:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Resultat:
+------------------+------------+ | 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 | +------------------+------------+
Vi kan också använda WHERE
sats mot den första kolumnen genom att använda Tables_in_dbname
konvention, där dbname
är namnet på databasen:
SHOW FULL TABLES
WHERE Tables_in_sakila = 'customer';
Resultat:
+------------------+------------+ | Tables_in_sakila | Table_type | +------------------+------------+ | customer | BASE TABLE | +------------------+------------+