Abaixo estão quatro maneiras de listar as tabelas em um banco de dados MariaDB usando SQL ou a linha de comando.
O SHOW TABLES
Comando
O
SHOW TABLES
O comando lista o não-TEMPORARY
tabelas, sequências e visualizações em um determinado banco de dados:SHOW TABLES;
Resultado:
+--------------------+ | Tables_in_pethouse | +--------------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +--------------------+
Isso listou todas as tabelas no banco de dados atual, que é chamado de
pethouse
. Também podemos usar o
FULL
modificador para retornar uma segunda coluna que exibe o tipo:SHOW FULL TABLES;
Resultado:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | | vownercount | VIEW | | vpetcount | VIEW | | vpetsowners | VIEW | | vpetstypes | VIEW | | vpettypecount | VIEW | +--------------------+------------+
Podemos ver que a maioria das “tabelas” neste banco de dados são, na verdade, visualizações.
Se quisermos apenas que as tabelas base sejam retornadas, podemos usar um
WHERE
cláusula:SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Resultado:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | +--------------------+------------+
SHOW TABLES
também aceita um LIKE
cláusula que pode ser usada para restringir os resultados apenas às tabelas que correspondem a um determinado padrão:SHOW TABLES
LIKE 'pet%';
Resultado:
+---------------------------+ | Tables_in_pethouse (pet%) | +---------------------------+ | PetTypes | | Pets | +---------------------------+
O SHOW TABLE STATUS
Comando
O
SHOW TABLE STATUS
comando é semelhante ao SHOW TABLES
mas fornece informações mais extensas sobre cada um (não-TEMPORARY
) tabela. Ele também aceita um
WHERE
e LIKE
cláusula, como SHOW TABLES
. Exemplo:
SHOW TABLE STATUS
LIKE 'pet%';
Resultado:
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | Max_index_length | Temporary | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | PetTypes | InnoDB | 10 | Dynamic | 4 | 4096 | 16384 | 0 | 0 | 0 | NULL | 2021-03-30 09:10:36 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | | Pets | InnoDB | 10 | Dynamic | 8 | 2048 | 16384 | 0 | 32768 | 0 | NULL | 2021-04-01 15:42:43 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
O information_schema.TABLES
Tabela
Também podemos consultar o
information_schema.TABLES
tabela:SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';
Resultado:
+------------+ | TABLE_NAME | +------------+ | Pets | | Owners | | PetTypes | +------------+
Consultando isso sem filtrar os resultados por
TABLE_SCHEMA
retorna tabelas de todos os bancos de dados. Da mesma forma, consultando sem filtrar por TABLE_TYPE
retorna todos os tipos de tabela. O mariadb-show
Cliente
Outra maneira de fazer isso é com o
mariadb-show
Utilitário. Para usar esta opção, abra um prompt de linha de comando/janela de terminal e execute o seguinte (substituindo
pethouse
com o banco de dados em que você está interessado):mariadb-show pethouse;
Resultado:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
Isso retorna exibições e tabelas.
A saída exibe apenas os nomes dos bancos de dados, tabelas ou colunas para os quais você tem alguns privilégios.
Se nenhum banco de dados for fornecido, todos os bancos de dados correspondentes serão mostrados. Se nenhuma tabela for fornecida, todas as tabelas correspondentes no banco de dados serão mostradas. Se nenhuma coluna for fornecida, todas as colunas e tipos de coluna correspondentes na tabela serão mostrados.
O cliente também pode ser executado como
mysqlshow
:mysqlshow pethouse;
Este utilitário aceita algumas opções, como
--user
(para que você possa passar o nome de usuário), --password
(para que você possa passar a senha), etc. Consulte a documentação do MariaDB para obter uma lista completa de opções.