Recuperando Informações sobre Bancos de Dados, Tabelas, Colunas e Índices


Você pode usar nome_bd.nome_tabela como uma alternativa para a sintaxe nome_tabela FROM nome_bd. Estas duas declarações são equivalentes:

mysql> SHOW INDEX FROM minhatabela FROM meudb;
mysql> SHOW INDEX FROM meubd.minhatabela;

SHOW DATABASES lista os bancos de dados no servidor MySQL. Você também pode obter esta lista utilizando o comando mysqlshow. Na versão 4.0.2 você verá apenas aqeules banco de dados para os quais você tem algum tipo de privilégio, se você não tiver o privilégio global SHOW DATABASES.

SHOW TABLES lista as tabelas em um banco de dados específico. Esta lista também pode ser obtida utilizando o comando mysqlshow nome_db.

NOTA: Se um usuário não possui nenhum privilégio para uma tabela, a tabela não será mostrada na saída de SHOW TABLES ou mysqlshow nome_db

SHOW OPEN TABLES lista as tabelas que estão abertas no cache de tabelas. Leia "Como o MariaDB Abre e Fecha as Tabelas". O campo Comment diz quantas vezes a tabela está em cached e in_use.

SHOW COLUMNS lista as colunas em uma determinada tabela. Se você especificar a opção FULL, também irá obter os privilégios que você possui para cada coluna. Se os tipos de colunas forem diferentes do que você esperava baseando na declaração CREATE TABLE, perceba que o MariaDB algumas vezes altera os tipos das colunas. Leia "Alteração de Especificações de Colunas". A partir do MariaDB, a palavra chave FULL também faz com que qualquer comentário por coluna seja mostrado.

A instrução DESCRIBE fornece informação similar à SHOW COLUMNS. Leia "Sintaxe DESCRIBE (Obtem Informações Sobre Colunas)".

SHOW FIELDS é um sinônimo para SHOW COLUMNS e SHOW KEYS um sinônimo para SHOW INDEX. Você também pode listar as colunas ou índices de uma tabela com mysqlshow nome_db nome_tabela ou mysqlshow -k nome_bd nome_tabela.

SHOW INDEX retorna a informação de índice em um formato que lembra bem a chamada SQLStatistics do ODBC. As seguintes colunas são retornadas:

Coluna Significado
Table Nome da tabela.
Non_unique 0 se o índice não puder conter duplicidades, 1 se puder
Key_name Nome do índice.
Seq_in_index Número da sequência da coluna no índice, à partir de 1.
Column_name Nome da coluna.
Collation Como a coluna é ordenada no índice. No MySQL, pode ter valores 'A' (Ascendente) ou NULL (Not sorted).
Cardinality Número de valores únicos no índice. Isto é atualizado executando isamchk -a.
Sub_part Número de caracteres indexados se a coluna só é a indexada parcialmente. NULL se a chave inteira for indexada.
Null Contém 'YES' se a coluna puder conter NULL.
Index_type Método de índice utilizado.
Comment Vários comentários. No momento, ele diz no MariaDB < 4.0.2 se o índice é FULLTEXT ou não.

Perceba que como o Cardinality é contado baseado nas estatísticas armazenadas como inteiros, ele pode não ser exato para tabelas pequenas.

As colunas Null e Index_type foram adicionadas no MariaDB 4.0.2.

Retornar