O MySQL é um dos sistemas de gerenciamento de banco de dados relacionais (RDBMS) mais utilizados atualmente. É uma plataforma de banco de dados robusta que permite a criação e o gerenciamento de bancos de dados escaláveis, principalmente usando uma linguagem de consulta estruturada (SQL).

O servidor MySQL é o ambiente no qual os bancos de dados residem – e onde eles são acessados. Como administrador do servidor, você frequentemente precisará recuperar detalhes sobre este ambiente – listando os bancos de dados que vivem no servidor, exibindo tabelas de um banco de dados em particular, visualizando funções e privilégios do usuário, restrições de acesso, e assim por diante.

Este artigo explicará como listar bancos de dados MySQL através do prompt de comando.

Pré-requisitos para listar os bancos de dados MySQL

Você deve ter o servidor MySQL rodando na sua máquina local para começar. Se você não tiver o MySQL, há algumas maneiras de instalá-lo:

  • Instale o WAMPServer, XAMPP, MAMP, ou qualquer outra pilha de distribuição de software que inclua o MySQL.
  • Baixe e execute o instalador do MySQL diretamente do seu site oficial, passando pelo processo de configuração para configurar e instalar o servidor MySQL e outras ferramentas.

Para executar convenientemente os comandos MySQL através da linha de comando, você precisará adicionar o caminho para o executável MySQL ao ambiente do seu sistema. Se você instalou o MySQL usando a segunda opção, esta etapa não é necessária, então você pode passar para a próxima seção.

Adicione o caminho do MySQL para variáveis de ambiente do seu sistema

Nesta seção, orientamos você a adicionar o caminho executável MySQL para a variável do seu ambiente se você estiver executando XAMPP ou WAMP em um computador Windows.

Primeiro, abra seu explorador de arquivos Windows e navegue até Este PC. Clique no drive onde você instalou o pacote WAMP ou XAMPP (C:).

Se você estiver executando XAMPP, navegue até xampp > mysql > bin e copie o caminho completo para a pasta bin. Para WAMP, navegue por {seu-wamp-versão} > bin > mysql > {seu-mysql-versão} > bin até o seu caminho completo.

O caminho completo até a pasta bin.
O caminho completo até a pasta bin.

Clique no menu Start e procure por “caminho”. Clique em Edit the system environment variable.

Em seguida, clique em Environment Variables em Startup and Recovery, selecione a variável PATH e clique em Edit.

Em seguida, clique em New e cole o caminho completo para o seu executável MySQL (que você copiou antes).

Editando a variável de ambiente.
Editando a variável de ambiente.

Então, salve as mudanças clicando em OK.

Agora que o caminho foi adicionado, você pode executar os comandos do MySQL no terminal.

Login no MySQL

Para listar bancos de dados MySQL, o usuário deve estar autorizado a acessar todos os bancos de dados, ou você deve definir um privilégio global SHOW DATABASES que conceda acesso a todos os usuários.

Certifique-se de que seu servidor MySQL está rodando antes de entrar no sistema através do prompt de comando:

mysql -u  -p

NOTA: substitua pelo seu nome de usuário. O nome de usuário padrão para o MySQL é root, e a senha está vazia (não há senha por padrão).

Login no MySQL
Login no MySQL

Mostrar bancos de dados no servidor MySQL

Agora que você está logado, você pode listar os bancos de dados MySQL presentes no servidor executando o comando SHOW DATABASES:

SHOW DATABASES;

Em troca, você recebe todos os bancos de dados presentes no armazenamento:

Uma lista de bancos de dados em armazenamento.
Uma lista de bancos de dados em armazenamento.

Dos seis bancos de dados retornados, information_schema e performance_schema são os bancos de dados padrão, gerados automaticamente quando você instala o MySQL.

O banco de dados information_schema é um banco de dados não modificável que armazena todas as informações relacionadas a bancos de dados e outros objetos (visualizações, privilégios de usuários, tabelas, restrições, etc.) armazenados no servidor MySQL.

Filtrando os resultados da saída do banco de dados

Anteriormente, todas as bases de dados no servidor MySQL eram exibidas com SHOW DATABASES, mas muitas vezes você tem que filtrar a saída do banco de dados, principalmente quando há muitos bancos de dados no servidor.

A cláusula LIKE filtra o resultado de SHOW DATABASE com base em um padrão especificado. Aqui está a sintaxe geral:

SHOW DATABASES LIKE '';

Deve ser uma string representando o padrão que você quer combinar. A string deve terminar com o símbolo de porcentagem, %, que denota um ou mais caracteres.

Por exemplo, se você quiser exibir apenas os bancos de dados cujos nomes começam com a carta w, você o faz executando o seguinte:

SHOW DATABASES LIKE 'w%';

Aqui está o resultado filtrado:

A resposta filtrada do banco de dados ao usar 'w%'.
A resposta filtrada do banco de dados ao usar ‘w%’.

Usando o esquema de informação para consultar os metadados da tabela

Anteriormente, você viu como o banco de dados information_schema armazena todas as informações relacionadas a bancos de dados, tabelas e outros objetos no ambiente do servidor MySQL.

O banco de dados information_schema usa a tabela de esquemas para armazenar informações sobre todos os bancos de dados. Para filtragem de bancos de dados, você pode realizar uma pesquisa complexa para consultar a tabela de esquemas de bancos de dados específicos.

Por exemplo, se você quiser bancos de dados cujos nomes comecem com “samp” ou “word”, você pode combinar várias outras cláusulas para fazer uma consulta complexa:

SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';

Aqui está o resultado:

Os resultados da complexa consulta.
Os resultados da complexa consulta.

Além disso, você tem a tabela tables do banco de dados information_schema, que contém informações sobre todas as tabelas. Da mesma forma, você pode realizar uma consulta para recuperar apenas as tabelas que correspondem a um padrão especificado.

Por exemplo, a consulta a seguir retorna as informações do esquema apenas das tabelas do WordPress – apenas as tabelas cujos nomes começam com “wp_”:

SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Aqui está o resultado:

Os resultados das informações do esquema apenas das tabelas do WordPress
Os resultados das informações do esquema apenas das tabelas do WordPress

Outras tabelas encontradas em information_schema incluem columns, constraints, table_constraints, check_constraints, e referential_constraints.

Problemas comuns e boas práticas

Uma das causas mais comuns de erros ao executar SQL é a falha em usar um ponto-e-vírgula no final das instruções.

Outra é o uso de sintaxe SQL inválida ou um nome de tabela/coluna digitado incorretamente. Para evitar este problema, verifique a tabela ou o nome da coluna para ter certeza de que está escrito corretamente. Verifique também a sintaxe.

Aqui estão algumas outras melhores práticas para ter em mente.

Use letras maiúsculas para palavras-chave SQL

Ao escrever código SQL, sempre use maiúsculas para palavras-chave SQL e minúsculas para nomes de tabelas e nomes de colunas. Isso torna seu código mais legível e menos suscetível a erros.

Então, ao invés disso:

select * from information_schema.tables where table_name like 'wp_%';

Faça isso:

SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';

Evite Usar SELECT *

Evite usar SELECT * em suas consultas SQL. Seu pedido não está claro porque você nem sempre pode saber o que ele retornará. Ao invés disso, especifique as colunas que você deseja selecionar da tabela.

Então, ao invés disso:

SELECT * EXCEPT(phone) FROM users.profile

Faça isso:

SELECT name,
    dob,
    address,
    country,
    address,
FROM user.profile

Indique seu código

Finalmente, outra dica para facilitar a busca de erros é abreviar o código porque o torna mais legível.

Gerenciamento do banco de dados

Alternativamente, você pode escolher gerenciar seus bancos de dados sem escrever SQL através do uso de um gerenciador de banco de dados. Isto permite aos usuários acessar as funções de gerenciamento do banco de dados sem a necessidade de escrever consultas SQL. Este software se conecta a um servidor MySQL e fornece uma interface de usuário para expor as funções do banco de dados. Uma vez conectado, a interface de usuário mostrará todos os bancos de dados no servidor. A aparência e a sensação variam entre as ferramentas de gerenciamento, mas o processo é similar.

Gerenciamento do banco de dados da DevKinsta.
Gerenciamento do banco de dados da DevKinsta.

Várias ferramentas estão disponíveis para escolha, incluindo phpMyAdmin e Adminer, ambas acessíveis através da DevKinsta. A ferramenta de gerenciamento padrão para o DevKinsta é Adminer, pois é leve, fácil e rápida, mas o phpMyAdmin pode ser acessado com facilidade.

Resumo

Como administrador do servidor, você precisa ser capaz de recuperar detalhes sobre os bancos de dados em seu servidor MySQL de forma eficiente e precisa. As habilidades para ver quais bancos de dados estão no servidor, ver tabelas específicas e as informações de dentro delas e acessar informações sobre as funções e privilégios do usuário são todas tarefas cruciais. O uso de SQL a partir da linha de comando pode simplificar muito este processo.

Quando o gerenciamento do banco de dados vai além de consultar tabelas, Kinsta pode ajudar. Saiba mais sobre nossas soluções escaláveis de hospedagem de banco de dados

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.