Entender **MySQL comandos básicos para desenvolvedores** é mais que um diferencial: é uma necessidade. Seja para criar um site dinâmico, gerenciar dados de um aplicativo ou otimizar o desempenho de um sistema complexo, o domínio do MySQL abre portas e resolve problemas. Este guia prático vai te dar o pontapé inicial para se tornar um ninja do MySQL.
MySQL: Comandos básicos que todo desenvolvedor precisa dominar
Preparando o Terreno: Conectando-se ao MySQL

Antes de tudo, precisamos garantir que o MySQL esteja instalado e configurado. Para quem está começando, a instalação do MySQL Server é fundamental. Mas, para quem busca agilidade, o Docker pode ser uma excelente alternativa, permitindo subir um ambiente isolado em minutos. Depois, a escolha da ferramenta de acesso é pessoal: linha de comando para os puristas, interfaces gráficas como phpMyAdmin ou DBeaver para quem prefere uma interface visual.
O comando `mysql -u [usuario] -p` é a porta de entrada. Substitua `[usuario]` pelo seu nome de usuário e prepare-se para digitar a senha. Se a conexão falhar, verifique se o servidor MySQL está rodando e se as credenciais estão corretas. Uma dica: erros de permissão são comuns, então, certifique-se de que o usuário tem permissão para acessar o banco de dados.
Manipulação de Bancos de Dados

Criando Bancos de Dados
O comando `CREATE DATABASE [nome_do_banco];` é o ponto de partida. Mas atenção ao nome: evite espaços, caracteres especiais e use letras minúsculas para facilitar a vida. E, para garantir a compatibilidade com diferentes idiomas e caracteres, utilize `CREATE DATABASE [nome_do_banco] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`. Isso evita muita dor de cabeça no futuro.
Listando Bancos de Dados
Para ver a lista de bancos de dados existentes, use `SHOW DATABASES;`. Se a lista for longa, filtre com `LIKE`, por exemplo, `SHOW DATABASES LIKE ‘nome%’;` para encontrar bancos que começam com ‘nome’.
Selecionando um Banco de Dados
Antes de qualquer operação, selecione o banco com `USE [nome_do_banco];`. Sem isso, o MySQL não saberá onde executar os comandos. Parece óbvio, mas é um erro comum, principalmente para quem está começando.
Excluindo Bancos de Dados
O comando `DROP DATABASE [nome_do_banco];` é definitivo. Use com extrema cautela! Antes de executá-lo, faça um backup do banco de dados. Sério, faça um backup! Perder dados é uma das piores sensações para um desenvolvedor.
Gerenciamento de Tabelas

Criando Tabelas
A estrutura de uma tabela é definida com `CREATE TABLE [nome_da_tabela] ( … );`. Aqui, você define as colunas, os tipos de dados (INT, VARCHAR, TEXT, DATE, etc.) e as restrições (PRIMARY KEY, AUTO_INCREMENT, NOT NULL, UNIQUE). Por exemplo:
CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE,
data_cadastro DATE
);Listando Tabelas
Para ver as tabelas de um banco de dados, use `SHOW TABLES;`. E, assim como nos bancos de dados, você pode filtrar a listagem com `LIKE`.
Descrevendo Tabelas
Para entender a estrutura de uma tabela, use `DESCRIBE [nome_da_tabela];` ou `SHOW COLUMNS FROM [nome_da_tabela];`. Isso mostra as colunas, os tipos de dados, as chaves e outras informações importantes.
Alterando Tabelas
O comando `ALTER TABLE [nome_da_tabela] …;` permite modificar a estrutura de uma tabela. Você pode adicionar colunas (`ADD COLUMN`), modificar colunas (`MODIFY COLUMN`) ou excluir colunas (`DROP COLUMN`). Também pode adicionar e remover chaves primárias e estrangeiras. Mas lembre-se: alterar uma tabela em produção pode ser arriscado. Teste as alterações em um ambiente de desenvolvimento antes.
Excluindo Tabelas
Assim como o `DROP DATABASE`, o comando `DROP TABLE [nome_da_tabela];` é irreversível. Faça backup antes de excluir uma tabela!
Manipulação de Dados (CRUD – Create, Read, Update, Delete)

Inserindo Dados
Use `INSERT INTO [nome_da_tabela] (coluna1, coluna2, …) VALUES (valor1, valor2, …);` para adicionar dados a uma tabela. Para inserir múltiplos registros de uma vez, use:
INSERT INTO usuarios (nome, email, data_cadastro) VALUES
('João', '[email protected]', '2024-01-01'),
('Maria', '[email protected]', '2024-01-02');Se a tabela tiver uma coluna AUTO_INCREMENT, como o id no exemplo anterior, você pode omitir essa coluna na lista de colunas e o MySQL irá gerar o valor automaticamente.
Consultando Dados
O comando `SELECT coluna1, coluna2, … FROM [nome_da_tabela] WHERE condição;` é a base das consultas. A cláusula `WHERE` permite filtrar os resultados com operadores lógicos (AND, OR, NOT) e de comparação (=, !=, >, <, >=, <=, LIKE, IN, BETWEEN). Use ORDER BY para ordenar os resultados (ASC para ascendente, DESC para descendente) e LIMIT e OFFSET para paginação.
As funções de agregação (COUNT, SUM, AVG, MIN, MAX) e o GROUP BY são ferramentas poderosas para resumir e analisar dados. E o JOIN permite combinar dados de múltiplas tabelas (INNER JOIN, LEFT JOIN, RIGHT JOIN).
Atualizando Dados
Para atualizar dados, use `UPDATE [nome_da_tabela] SET coluna1 = valor1, coluna2 = valor2, … WHERE condição;`. A cláusula WHERE é crucial para evitar atualizar todos os registros. Imagine o estrago se você esquecer o WHERE e atualizar o email de todos os usuários para o mesmo valor!
Excluindo Dados
O comando `DELETE FROM [nome_da_tabela] WHERE condição;` remove dados de uma tabela. Novamente, a cláusula WHERE é fundamental. O comando `TRUNCATE TABLE [nome_da_tabela];` remove todos os dados de uma tabela, mas de forma mais rápida que o DELETE, pois ele não registra as exclusões no log. Use com cuidado!
Usuários e Permissões

A segurança é fundamental. O MySQL permite criar usuários com permissões específicas para cada banco de dados e tabela.
Criando Usuários
Use `CREATE USER ‘[nome_do_usuario]’@'[host]’ IDENTIFIED BY ‘[senha]’;` para criar um novo usuário. O [host] pode ser localhost (para acesso local), % (para qualquer host) ou um IP específico.
Concedendo Permissões
O comando `GRANT [privilégios] ON [banco_de_dados].[tabela] TO ‘[nome_do_usuario]’@'[host]’;` concede permissões a um usuário. Os privilégios comuns são SELECT, INSERT, UPDATE, DELETE, CREATE, DROP e ALL PRIVILEGES. Após alterar as permissões, execute `FLUSH PRIVILEGES;` para que as mudanças tenham efeito.
Revogando Permissões
Para remover permissões, use `REVOKE [privilégios] ON [banco_de_dados].[tabela] FROM ‘[nome_do_usuario]’@'[host]’;`.
Alterando Senhas
Para alterar a senha de um usuário, use `ALTER USER ‘[nome_do_usuario]’@'[host]’ IDENTIFIED BY ‘[nova_senha]’;`.
Excluindo Usuários
Para excluir um usuário, use `DROP USER ‘[nome_do_usuario]’@'[host]’;`.
Backup e Restauração

Backup é essencial. Nunca deixe de fazer backup dos seus bancos de dados!
Backup
O comando `mysqldump` é a ferramenta para backup. Por exemplo:
mysqldump -u [usuario] -p [nome_do_banco] > backup.sqlAs opções --routines e --triggers são importantes para incluir stored procedures e triggers no backup.
Restauração
Para restaurar um backup, use o cliente mysql:
mysql -u [usuario] -p [nome_do_banco] < backup.sqlDicas e Truques para Desenvolvedores
- Use prepared statements para prevenir SQL injection.
- Otimize queries com EXPLAIN.
- Siga boas práticas de modelagem de dados e normalização.
- Monitore a performance do MySQL com ferramentas de monitoramento.
| Comando | Descrição |
|---|---|
CREATE DATABASE | Cria um novo banco de dados. |
SHOW DATABASES | Lista os bancos de dados existentes. |
USE | Seleciona um banco de dados. |
CREATE TABLE | Cria uma nova tabela. |
SELECT | Consulta dados de uma tabela. |
INSERT | Insere dados em uma tabela. |
UPDATE | Atualiza dados em uma tabela. |
DELETE | Exclui dados de uma tabela. |
Dúvidas Frequentes
Como prevenir SQL injection?
Utilize prepared statements! Eles tratam os dados como dados, e não como código SQL, impedindo a injeção de código malicioso.
Qual a diferença entre VARCHAR e TEXT?
VARCHAR é para strings de tamanho limitado (até 255 caracteres na maioria das implementações), enquanto TEXT é para textos maiores.
Como otimizar consultas lentas?
Use o comando EXPLAIN para analisar a consulta e identificar gargalos. Crie índices nas colunas usadas nas cláusulas WHERE e JOIN.
O que são stored procedures?
São blocos de código SQL pré-compilados e armazenados no banco de dados. Eles podem ser chamados como funções, melhorando a performance e a segurança.
Quando usar JOIN?
Use JOIN para combinar dados de duas ou mais tabelas relacionadas. INNER JOIN retorna apenas as linhas que correspondem em ambas as tabelas, enquanto LEFT JOIN e RIGHT JOIN retornam todas as linhas de uma tabela e as correspondentes da outra.
Para não esquecer:
A documentação oficial do MySQL é sua melhor amiga. Consulte-a sempre que tiver dúvidas ou precisar de informações mais detalhadas.
E aí, pronto para dominar o MySQL? Espero que este guia tenha sido útil. Compartilhe suas dicas e truques nos comentários!




