Como listar bancos de dados MySQL (tutorial de código passo a passo)

Publicados: 2022-10-22

O MySQL é um dos sistemas de gerenciamento de banco de dados relacional (RDBMS) mais amplamente utilizados atualmente. É uma plataforma de banco de dados robusta que permite criar e gerenciar 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 de servidor, muitas vezes você precisará recuperar detalhes sobre esse ambiente — listando os bancos de dados que residem no servidor, exibindo tabelas de um banco de dados específico, exibindo funções e privilégios de usuários, restrições de acesso e assim por diante.

Este artigo explicará os detalhes de como listar bancos de dados MySQL por meio do prompt de comando.

Pré-requisitos para listar bancos de dados MySQL

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

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

Para executar convenientemente os comandos do MySQL usando a linha de comando, você precisará adicionar o caminho do executável do MySQL ao ambiente do seu sistema. Se você instalou o MySQL usando a opção dois, este passo é desnecessário, então sinta-se à vontade para pular a próxima seção.

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

Esta seção o orienta sobre como adicionar o caminho executável do MySQL ao ambiente de variáveis ​​do seu sistema se você estiver executando o XAMPP ou WAMP em um computador Windows.

Primeiro, inicie o explorador de arquivos do Windows e navegue até Este PC . Clique na unidade onde você instalou o pacote WAMP ou XAMPP ( C: ).

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

O caminho completo para acessar a CLI do MySQL.
O caminho completo para a pasta bin.

Clique no menu Iniciar e procure por “caminho”. Clique em Editar a variável de ambiente do sistema .

Em seguida, clique em Variáveis ​​de Ambiente em Inicialização e Recuperação , selecione a variável PATH e clique em Editar .

Em seguida, clique em Novo e cole o caminho completo para o executável do MySQL (que você copiou anteriormente).

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

Em seguida, salve as alterações clicando em OK .

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

Entrar 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 esteja em execução antes de efetuar login através do prompt de comando:

 mysql -u -p

NOTA: substituir com seu nome de usuário. O nome de usuário padrão do MySQL é root e a senha está vazia (não há senha por padrão).

Entrando no MySQL através do terminal.
Fazendo login no MySQL.

Mostrar bancos de dados dentro do servidor MySQL

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

 SHOW DATABASES;

Em troca, você obtém todos os bancos de dados presentes no armazenamento:

Mostrando bancos de dados MySQL.
Uma lista de bancos de dados que estão no armazenamento.

Dos seis bancos de dados retornados, information_schema e performance_schema são os bancos de dados padrão que sã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 aos bancos de dados e outros objetos (visualizações, privilégios de usuário, tabelas, restrições, etc.) armazenados no servidor MySQL.

Filtrando resultados da saída do banco de dados

Anteriormente, você retornava todos os bancos de dados no servidor MySQL com SHOW DATABASES , mas geralmente é necessário 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ê deseja corresponder. A string deve terminar com o símbolo de porcentagem, % , que denota um ou mais caracteres.

Por exemplo, se você deseja exibir apenas os bancos de dados cujos nomes começam com a letra w , faça isso executando o seguinte:

 SHOW DATABASES LIKE 'w%';

Aqui está o resultado filtrado:

Filter-list-mysql-databases
A resposta do banco de dados filtrada ao usar 'w%'.

Usando Esquema de Informações para Consultar Metadados de 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 banco de dados, você pode realizar uma pesquisa complexa para consultar a tabela de esquema para bancos de dados específicos.

Por exemplo, se você deseja bancos de dados cujos nomes começam 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:

Usando MySQL
Os resultados da consulta complexa.

Além disso, você tem a tabela de 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 de 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:

Lutando com problemas de tempo de inatividade e WordPress? Kinsta é a solução de hospedagem projetada para economizar seu tempo! Confira nossas funcionalidades

Listando a tabela de banco de dados MySQL wp_tables.
Os resultados das informações do esquema apenas das tabelas do WordPress.

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

Problemas comuns e práticas recomendadas

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 está usando uma sintaxe SQL inválida ou um nome de tabela/coluna escrito incorretamente. Para evitar isso, verifique o nome da tabela ou coluna para garantir que esteja escrito corretamente. Certifique-se de verificar sua sintaxe também.

Aqui estão algumas outras práticas recomendadas a serem lembradas.

Usar 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, em vez disso:

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

Fazem isto:

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

Evite usar SELECT *

Evite usar SELECT * em suas consultas SQL. Sua solicitação não está clara porque nem sempre você pode saber o que ela retornará. Em vez disso, especifique as colunas que deseja selecionar na tabela.

Então ao invés disso:

 SELECT * EXCEPT(phone) FROM users.profile

Fazem isto:

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

Recuar seu código

Por fim, mais uma dica para facilitar a localização de erros é indentar seu código. Isso torna mais legível!

Gerenciadores de banco de dados

Como alternativa, você pode optar por gerenciar seus bancos de dados sem escrever SQL usando um gerenciador de banco de dados. Isso permite que os usuários acessem funções de gerenciamento de banco de dados sem precisar 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 do usuário mostrará todos os bancos de dados no servidor. A aparência varia entre as ferramentas de gerenciamento, mas o processo é semelhante.

Gerenciador de banco de dados do DevKinsta.
Gerenciador de banco de dados do DevKinsta.

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

Resumo

Como administrador de servidor, você precisa ser capaz de recuperar de forma eficiente e precisa os detalhes sobre os bancos de dados em seu servidor MySQL. A capacidade de ver quais bancos de dados estão no servidor, visualizar tabelas específicas e as informações contidas nelas e acessar informações sobre funções e privilégios de usuários são tarefas cruciais. Felizmente, usar SQL a partir de sua linha de comando pode tornar tudo isso muito fácil.

Quando seu gerenciamento de banco de dados precisa ir além da consulta de tabelas, Kinsta pode ajudar. Saiba mais sobre nossas opções de hospedagem de banco de dados escaláveis ​​hoje!