Como Visualizar Dados e Estrutura de Tabelas MySQL (SHOW TABLES, DESCRIBE, SELECT, INFORMATION_SCHEMA)

目次

1. Introdução

Quando se gerencia um banco de dados com MySQL, há muitas situações em que você quer “ver o que há dentro de uma tabela”. Por exemplo, pode querer verificar se os dados de teste foram armazenados corretamente, ou confirmar que os dados esperados estão sendo inseridos ao desenvolver uma aplicação. Poder inspecionar rapidamente o conteúdo das tabelas é extremamente importante.

No desenvolvimento e nas operações do dia a dia, você também frequentemente precisa de informações como “Como é a estrutura da tabela?” ou “Quais são os tipos e restrições das colunas?”. No entanto, se você não está familiarizado com o MySQL, pode ser surpreendentemente confuso como verificar o conteúdo e a estrutura de uma tabela.

Neste artigo, explicaremos tudo, desde o básico de ver o conteúdo e a estrutura de tabelas no MySQL até comandos práticos, comumente usados, técnicas avançadas, além de erros comuns e solução de problemas. Este guia inclui informações úteis para iniciantes e para quem usa MySQL regularmente — portanto, use-o como referência.

2. Pré-requisito: Como Conectar ao MySQL

Para verificar o conteúdo e a estrutura das tabelas MySQL, primeiro você precisa conectar ao servidor MySQL. Aqui, explicamos como fazer login no MySQL a partir da linha de comando (Terminal ou Prompt de Comando) e como selecionar um banco de dados.

Como fazer login no MySQL

Para conectar ao MySQL, use o comando a seguir.

mysql -u username -p

Substitua “username” pelo seu nome de usuário do MySQL. Quando executar o comando, será solicitado que você insira uma senha — digite a senha correta.

Selecionar um banco de dados

Após fazer login com sucesso, você verá o prompt do MySQL (mysql>). Para selecionar o banco de dados com o qual deseja trabalhar, digite o comando a seguir.

USE database_name;

Depois disso, as operações subsequentes serão executadas no banco de dados selecionado.
Se você esquecer esta etapa, pode receber um erro como “No database selected”, então tome cuidado.

Como listar bancos de dados

Se quiser ver uma lista de bancos de dados que existem no servidor, pode usar o comando a seguir.

SHOW DATABASES;

Isso exibirá todos os nomes de bancos de dados em uma lista. Conforme necessário, confirme aqui o nome do banco de dados alvo e troque usando USE database_name;.

3. Ver a Lista de Tabelas (Exibir uma Lista de Tabelas)

Depois de conectar ao MySQL e selecionar o banco de dados alvo, você frequentemente desejará confirmar “quais tabelas existem”. Aqui, apresentamos o método básico para listar tabelas, bem como técnicas úteis para restringir apenas às tabelas que você precisa.

Comando básico para listar tabelas

Para exibir uma lista de tabelas, use o comando a seguir.

SHOW TABLES;

Executar este comando exibe uma lista de todos os nomes de tabelas no banco de dados atualmente selecionado.
Por exemplo, você pode ver nomes de tabelas como “users”, “orders” e “products” listados verticalmente.

Ver a lista de tabelas em outro banco de dados

Se quiser verificar a lista de tabelas de um banco de dados diferente que não está selecionado no momento, escreva o comando assim:

SHOW TABLES FROM database_name;

Com essa abordagem, você pode rapidamente verificar tabelas no banco de dados especificado sem trocar de banco usando o comando USE a cada vez.

Pesquisar (filtrar) nomes de tabelas específicos

Quando há muitas tabelas, pode ser necessário encontrar rapidamente a tabela alvo. Nesse caso, você pode filtrar usando a opção LIKE.

SHOW TABLES LIKE 'search_word%';

Por exemplo, se quiser mostrar apenas tabelas que começam com “user”, especifique assim SHOW TABLES LIKE 'user%';.

Além disso, dependendo da versão do MySQL, pode ser possível usar uma cláusula SHOW TABLES WHERE.

SHOW TABLES WHERE Tables_in_database_name LIKE '%keyword%';

Listar tabelas é uma operação fundamental do MySQL, mas um pequeno toque de criatividade pode melhorar muito a eficiência de gerenciamento e busca.

4. Ver a Estrutura da Tabela (Lista de Colunas)

Antes de verificar o conteúdo da tabela, é muito importante entender “quais colunas existem e quais tipos de dados e restrições estão definidos.” Conhecer a estrutura da tabela ajuda a recuperar e editar dados corretamente, e também ajuda a prevenir problemas durante o desenvolvimento e operação do sistema.

Comando básico: DESCRIBE (DESC)

O comando mais comum para verificar a estrutura da tabela é DESCRIBE. Você também pode usar a forma abreviada DESC.

DESCRIBE table_name;

ou

DESC table_name;

Ao executar este comando, o MySQL exibe uma lista de nomes de colunas, tipos de dados, restrições NULL, informações de chave primária e mais.

Itens principais exibidos:

  • Field (nome da coluna)
  • Type (tipo de dado)
  • Null (se NULL é permitido)
  • Key (chave primária, chave estrangeira, etc.)
  • Default (valor padrão)
  • Extra (informações adicionais como auto‑incremento)

Comando SHOW COLUMNS

SHOW COLUMNS FROM table_name; exibe quase o mesmo conteúdo que DESCRIBE. Dependendo da situação, usar este comando também é adequado.

Se você quiser informações mais detalhadas

Se precisar de informações de coluna mais detalhadas, use SHOW FULL COLUMNS FROM table_name;. Isso inclui informações adicionais como collation (Collation) e privileges (Privileges).

Quando verificações da estrutura da tabela são úteis

  • Entender “quais colunas existem” durante novo desenvolvimento ou manutenção
  • Verificar tipos de colunas, nulidade (NULLability) e informações de chave primária ao investigar um sistema existente ou ao realizar integração de dados
  • Esclarecer “qual tipo de dado será armazenado” ao escrever código

Para verificar o conteúdo da tabela de forma segura e precisa, comece confirmando primeiro a estrutura da tabela.

5. Verificar Conteúdo da Tabela (Dados)

Depois de entender a estrutura da tabela, o próximo passo é verificar quais dados estão realmente armazenados na tabela. No MySQL, você pode recuperar facilmente dados de uma tabela usando a instrução SELECT.

Visualizar todos os dados

Se quiser exibir todas as linhas de uma tabela, escreva a consulta assim:

SELECT * FROM table_name;

Executar este comando exibe todas as linhas (registros) da tabela.
No entanto, se a tabela contiver uma grande quantidade de dados, exibir tudo de uma vez pode ser difícil de ler — portanto, use cautela.

Selecionar apenas as colunas que você precisa

Se você não precisar de todas as colunas e quiser ver apenas informações específicas, especifique os nomes das colunas que deseja recuperar:

SELECT column1, column2 FROM table_name;

Isso exibe apenas as colunas especificadas, facilitando a revisão ou agregação dos dados.

Filtrar dados por condições

Se quiser verificar apenas os dados que correspondem a certas condições, use a cláusula WHERE:

SELECT * FROM table_name WHERE column_name = 'value';

Por exemplo, se quiser verificar “apenas o usuário com id = 10” na tabela users, escreva assim:
SELECT * FROM users WHERE id = 10;

Se quiser buscar usando correspondência parcial, use o operador LIKE:

SELECT * FROM table_name WHERE column_name LIKE 'A%';

Neste exemplo, apenas os registros cujo valor da coluna começa com “A” serão exibidos.

Limitar o número de linhas retornadas (cláusula LIMIT)

Se a tabela contiver um número muito grande de linhas, também é importante limitar quantos resultados são exibidos usando a cláusula LIMIT:

SELECT * FROM table_name LIMIT 10;

Isso exibe apenas as primeiras 10 linhas.
Além disso, você pode usar OFFSET para especificar a partir de qual linha começar:

SELECT * FROM table_name LIMIT 10 OFFSET 20;

Isso recupera 10 linhas a partir da 21ª linha, o que é útil para paginação e revisão de grandes conjuntos de dados.

6. Obter Informações de Tabela Mais Detalhadas

No MySQL, existem comandos não apenas para verificar o conteúdo e a estrutura da tabela, mas também para obter informações mais detalhadas. Aqui, explicamos como verificar o status da tabela, detalhes de criação, tamanho da tabela e mais.

Verificar o status da tabela (SHOW TABLE STATUS)

Se quiser uma visão geral do status da tabela e informações básicas, use o comando SHOW TABLE STATUS:

SHOW TABLE STATUS;

Executar este comando exibe uma lista de informações como a seguinte para todas as tabelas no banco de dados atualmente selecionado:

  • Nome da tabela (Name)
  • Engine (Engine)
  • Contagem de linhas (Rows)
  • Tamanho da tabela (Data_length, Index_length)
  • Data de criação (Create_time)
  • Última atualização (Update_time)
  • Collation (Collation), etc.

Se você quiser verificar apenas uma tabela específica, especifique-a assim:

SHOW TABLE STATUS LIKE 'table_name';

SQL usado para criar a tabela (SHOW CREATE TABLE)

Se você quiser saber “Qual SQL foi usado para criar esta tabela?”, o comando SHOW CREATE TABLE é útil:

SHOW CREATE TABLE table_name;

Quando executado, ele exibe a instrução CREATE TABLE exata que foi usada para criar a tabela. Este comando é extremamente útil para migração de tabelas, backups e recriar a mesma tabela em outro ambiente.

Quando informações detalhadas da tabela são úteis

  • Entender o tamanho da tabela e a contagem de linhas para melhorias de desempenho e gerenciamento de armazenamento
  • Verificar DDL (definições de tabela) como material de referência para migrações e refatoração
  • Investigar o tipo de engine, conjunto de caracteres e informações de índices para ajudar a identificar causas de problemas no sistema

Ao dominar esses comandos, você pode expandir significativamente o que pode fazer nas operações e solução de problemas do MySQL.

7. Verificando via INFORMATION_SCHEMA (Avançado)

O MySQL fornece um banco de dados especial chamado INFORMATION_SCHEMA. Ele armazena vários tipos de metadados sobre todo o servidor MySQL, incluindo informações de tabelas, detalhes de colunas, índices, privilégios e muito mais. Ao usá-lo, você pode recuperar informações de tabelas e colunas de maneira mais flexível e detalhada.

Recuperar informações de tabelas usando INFORMATION_SCHEMA

Por exemplo, se você quiser obter uma lista de todos os nomes de tabelas em um banco de dados específico, pode usar o seguinte SQL:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name';

Este SQL é útil quando você precisa inspecionar um grande número de tabelas usando ferramentas de gerenciamento ou coletar informações automaticamente com scripts.

Recuperar informações de colunas e índices

Você pode recuperar informações de colunas de maneira semelhante:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'database_name'
  AND TABLE_NAME = 'table_name';

Você também pode recuperar facilmente detalhes de índices, restrições, chaves estrangeiras e outros metadados usando INFORMATION_SCHEMA.

Relação com ANALYZE TABLE

Para ajuste de desempenho e atualização de estatísticas, o comando ANALYZE TABLE é usado. Quando você executa este comando, as estatísticas da tabela são atualizadas, e os valores estatísticos recuperados do INFORMATION_SCHEMA (como estimativas de contagem de linhas) tornam-se mais precisos.

ANALYZE TABLE table_name;

Quando usar INFORMATION_SCHEMA

  • Quando você deseja recuperar informações sobre várias tabelas ou colunas de uma só vez
  • Ao verificar estruturas de tabelas e colunas em processamento em lote ou scripts de automação
  • Quando você precisa de informações detalhadas como índices, chaves estrangeiras ou comentários de tabelas

INFORMATION_SCHEMA é uma ferramenta poderosa para obter uma compreensão mais profunda do MySQL e operá-lo de forma mais eficiente. Aproveite ao máximo em tarefas diárias de gerenciamento e desenvolvimento de sistemas.

8. Ferramentas CLI e Atalhos

Ao verificar o conteúdo e a estrutura de tabelas no MySQL, conhecer comandos e opções convenientes da interface de linha de comando (CLI) pode melhorar significativamente sua eficiência. Aqui, apresentamos ferramentas CLI comumente usadas e atalhos úteis.

O comando mysqlshow

O MySQL fornece uma ferramenta CLI dedicada chamada mysqlshow. Ela é especializada em listar bancos de dados e tabelas e permite verificar rapidamente informações sem fazer login interativo no MySQL.

Exibir uma lista de bancos de dados

mysqlshow -u username -p

Exibir tabelas em um banco de dados específico

mysqlshow -u username -p database_name

Exibir informações de colunas para uma tabela específica

mysqlshow -u username -p database_name table_name

Com esses comandos curtos, você pode verificar rapidamente a estrutura e a existência, tornando-os convenientes para gerenciamento de servidores e scripts.

Facilite a leitura da saída com a opção “\G”

Normalmente, ao executar SQL no MySQL, os resultados são exibidos em formato de tabela horizontal. Contudo, se houver muitas colunas ou muita informação, usar “\G” exibe os resultados verticalmente, tornando-os muito mais fáceis de ler.

Exemplo de uso

SELECT * FROM table_name\G

Quando escrito dessa forma, cada registro é exibido verticalmente, com nomes de colunas e valores mostrados em pares.
Isso é especialmente útil ao verificar a estrutura da tabela ou revisar cuidadosamente os detalhes de um único registro.

Outras técnicas úteis de CLI

  • Usando o histórico de comandos Você pode usar as teclas de seta para cima e para baixo para recuperar comandos executados anteriormente, assim não precisa digitar o mesmo comando repetidamente.
  • Completação por Tab Ao digitar nomes de tabelas ou colunas, pressione a tecla Tab após digitar parcialmente o nome para completá-lo automaticamente, reduzindo erros de ortografia e de entrada.

Ao dominar as ferramentas e atalhos da CLI, as operações no MySQL se tornam mais confortáveis e eficientes. Tente incorporá-los ao seu trabalho diário e às tarefas de desenvolvimento.

9. Erros Comuns e Como Corrigi-los

Ao verificar o conteúdo e a estrutura de tabelas no MySQL, há vários erros comuns que tanto iniciantes quanto usuários experientes encontram pelo menos uma vez. Aqui, explicamos claramente os erros típicos, suas causas e como resolvê-los.

Nenhum banco de dados selecionado

Mensagem de erro

ERROR 1046 (3D000): No database selected

Causa & Solução
Esse erro ocorre quando você tenta operar em tabelas sem selecionar um banco de dados primeiro.
Certifique‑se de especificar o banco de dados alvo com antecedência usando:

USE database_name;

Banco de dados desconhecido

Mensagem de erro

ERROR 1049 (42000): Unknown database 'database_name'

Causa & Solução
Isso acontece quando o banco de dados especificado não existe. As causas comuns incluem erros de ortografia, capitalização incorreta ou o banco de dados ainda não ter sido criado.
Use o comando a seguir para confirmar o nome correto:

SHOW DATABASES;

Erros de permissão (nenhum resultado exibido com SHOW TABLES / SHOW COLUMNS)

Situações de exemplo

  • Nenhuma tabela aparece ao executar SHOW TABLES
  • Nenhuma informação aparece ao executar SHOW COLUMNS

Causa & Solução
Isso ocorre quando o usuário MySQL não tem privilégios suficientes para o banco de dados ou tabela.
Peça a um administrador (como o usuário root) para conceder as permissões necessárias, ou configure os privilégios usando o comando GRANT apropriado.

Muitas linhas retornadas, dificultando a leitura dos resultados

Situação de exemplo

  • Executar SELECT * FROM table_name; faz com que dezenas de milhares de linhas sejam exibidas de uma vez

Solução
Use a cláusula LIMIT para restringir o número de linhas retornadas.
Exemplo:

SELECT * FROM table_name LIMIT 10;

Nomes de tabela ou coluna digitados incorretamente

Situações de exemplo

  • Coluna desconhecida ‘column_name’ na ‘lista de campos’
  • Tabela ‘database_name.table_name’ não existe

Solução
Para evitar erros de digitação, use SHOW TABLES, SHOW COLUMNS ou os recursos de completamento por Tab na CLI.

A maioria desses erros pode ser evitada realizando verificações básicas com cuidado. Quando algo der errado, revise os pontos acima passo a passo.

10. Resumo

Existem várias abordagens para a operação básica de “verificar o conteúdo das tabelas” no MySQL. Neste artigo, cobrimos tudo, desde listar tabelas e verificar estruturas detalhadas de tabelas até recuperar dados reais, além de obter metadados avançados e informações detalhadas de gerenciamento.

  • Use SHOW TABLES para listar tabelas,
  • Use DESCRIBE (DESC) ou SHOW COLUMNS para verificar informações e estrutura das colunas,
  • Use a instrução SELECT para recuperar os dados reais,
  • Use SHOW TABLE STATUS, SHOW CREATE TABLE e INFORMATION_SCHEMA para inspecionar informações detalhadas de gerenciamento e DDL quando necessário,
  • E melhore a eficiência do desenvolvimento e das operações diárias com ferramentas de CLI, atalhos e conhecimento de solução de problemas.

Ao dominar essas técnicas, as operações em bancos de dados MySQL se tornam mais seguras e confiáveis, e erros ou problemas podem ser minimizados. Este conteúdo é útil para iniciantes, usuários intermediários e profissionais que trabalham em ambientes reais. Aplique essas técnicas em seus futuros projetos de desenvolvimento e tarefas de administração de sistemas.

11. FAQ (Perguntas Frequentes)

Q1. Como posso verificar os dados de uma tabela com condições específicas?

A:
Use a cláusula WHERE assim:

SELECT * FROM table_name WHERE condition;

Por exemplo:

SELECT * FROM users WHERE age > 30;

Isso recupera apenas usuários com mais de 30 anos. Você também pode combiná‑la com a cláusula LIMIT para controlar quantas linhas são exibidas.

Q2. Executei SHOW TABLES mas nenhuma tabela aparece. Por quê?

A:
Possíveis causas incluem:
(1) Você não selecionou um banco de dados (USE nome_do_banco; está ausente),
(2) O nome do banco de dados especificado está incorreto,
(3) Privilégios insuficientes.
Use SHOW DATABASES; para confirmar o nome do banco de dados e verificar se você tem as permissões adequadas.

Q3. Como posso visualizar a estrutura da tabela como DDL (instrução CREATE)?

A:
Execute o seguinte comando:

SHOW CREATE TABLE table_name;

Ele exibe a instrução CREATE TABLE exata usada para criar a tabela. Isso é útil para migração de tabelas e backups.

Q4. Há dados demais na tabela para visualizar tudo de uma vez.

A:
Use a cláusula LIMIT:

SELECT * FROM table_name LIMIT 10;

Você também pode combiná‑la com OFFSET para verificar intervalos específicos passo a passo.

Q5. O que é INFORMATION_SCHEMA e quando devo usá‑lo?

A:
INFORMATION_SCHEMA é um banco de dados especial que armazena metadados do MySQL. É muito útil quando você precisa recuperar ou gerenciar grandes quantidades de informações sobre tabelas, colunas, índices ou privilégios. Como pode ser consultado diretamente com SQL, também é ideal para automação e geração de relatórios.

Q6. Como posso exibir os resultados verticalmente?

A:
Adicione “\G” ao final da sua instrução SQL.
Exemplo:

SELECT * FROM table_name\G

Isso exibe cada registro verticalmente, mostrando nomes de colunas e valores em um formato de pares legível.