No MariaDB,
SHOW TABLES
é uma instrução administrativa que lista o não-TEMPORARY
tabelas, sequências e visualizações em um determinado banco de dados. Sintaxe
A sintaxe fica assim:
SHOW [FULL] TABLES [FROM db_name]
[LIKE 'pattern' | WHERE expr]
Exemplo
Segue um exemplo para demonstrar:
SHOW TABLES;
Resultado:
+------------------------+ | Tables_in_krankykranes | +------------------------+ | Customers | | Dogs | | Gameshow | | OrderItems | | Orders | | PetShow | | Pets | | Products | | Vendors | | t1 | +------------------------+
Isso nos mostra as tabelas no banco de dados atual, que neste caso é o
KrankyKranes
base de dados. Mostrar o tipo de tabela
Podemos usar o
FULL
modificador para retornar o tipo de tabela:USE sakila;
SHOW FULL TABLES;
Resultado:
+----------------------------+------------+ | 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 | +----------------------------+------------+
Aqui, mudei para o
Sakila
banco de dados e, em seguida, execute SHOW FULL TABLES
. Podemos ver que algumas das tabelas retornadas são na verdade visualizações. Conforme mencionado, a instrução retorna tabelas, sequências e visualizações.
O LIKE
Cláusula
O
LIKE
cláusula, se presente por conta própria, indica quais nomes de tabela devem corresponder:SHOW FULL TABLES
LIKE 'f%';
Resultado:
+-----------------------+------------+ | Tables_in_sakila (f%) | Table_type | +-----------------------+------------+ | film | BASE TABLE | | film_actor | BASE TABLE | | film_category | BASE TABLE | | film_list | VIEW | | film_text | BASE TABLE | +-----------------------+------------+
O WHERE
Cláusula
O
WHERE
cláusula pode ser usada para filtrar os resultados com base em um determinado critério:SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Resultado:
+------------------+------------+ | 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 | +------------------+------------+
Também podemos usar o
WHERE
cláusula contra a primeira coluna usando o Tables_in_dbname
convenção, onde dbname
é o nome do banco de dados:SHOW FULL TABLES
WHERE Tables_in_sakila = 'customer';
Resultado:
+------------------+------------+ | Tables_in_sakila | Table_type | +------------------+------------+ | customer | BASE TABLE | +------------------+------------+