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.