Capítulo 5 - MySQL
Capítulo 5: MySQL
Introdução ao MySQL
O que é MySQL?
MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) open-
source que utiliza a linguagem SQL (Structured Query Language) para gerenciar e
manipular dados. Ele é amplamente utilizado em aplicações web devido à sua
confiabilidade, desempenho e facilidade de uso.
Instalação e Configuração do MySQL
Para começar a usar o MySQL, você precisa instalá-lo e configurá-lo em seu sistema. Aqui
estão os passos básicos:
1. Download e Instalação:
Baixe o instalador do MySQL a partir do site oficial.
Siga as instruções do instalador para configurar o servidor MySQL.
2. Configuração Inicial:
Defina uma senha para o usuário root.
Configure as opções de rede, como a porta de conexão (padrão é 3306).
3. Iniciar o Servidor MySQL:
Inicie o servidor MySQL a partir do painel de controle ou linha de comando.
Banco de Dados e Tabelas
Criação e Gerenciamento de Bancos de Dados
Para criar um novo banco de dados, você pode usar o comando CREATE DATABASE .
CREATE DATABASE nome_do_banco;
Para selecionar um banco de dados, use o comando USE .
USE nome_do_banco;
Criação e Gerenciamento de Tabelas
Tabelas são usadas para armazenar dados em um banco de dados. Você pode criar uma
tabela usando o comando CREATE TABLE .
CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
data_criacao TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Para visualizar a estrutura de uma tabela, use o comando DESCRIBE .
DESCRIBE usuarios;
Consultas SQL
SELECT, INSERT, UPDATE, DELETE
As operações básicas de manipulação de dados incluem SELECT , INSERT , UPDATE e
DELETE .
SELECT (Ler):
SELECT * FROM usuarios;
Para selecionar colunas específicas:
SELECT nome, email FROM usuarios;
INSERT (Inserir):
INSERT INTO usuarios (nome, email) VALUES ('Rafael',
'
[email protected]');
UPDATE (Atualizar):
UPDATE usuarios SET email = '[email protected]' WHERE nome =
'Rafael';
DELETE (Excluir):
DELETE FROM usuarios WHERE nome = 'Rafael';
Junções (JOINs) e Subconsultas
Junções permitem combinar dados de duas ou mais tabelas.
INNER JOIN:
SELECT usuarios.nome, pedidos.data_pedido
FROM usuarios
INNER JOIN pedidos ON usuarios.id = pedidos.usuario_id;
LEFT JOIN:
SELECT usuarios.nome, pedidos.data_pedido
FROM usuarios
LEFT JOIN pedidos ON usuarios.id = pedidos.usuario_id;
Subconsultas:
SELECT nome FROM usuarios
WHERE id IN (SELECT usuario_id FROM pedidos WHERE data_pedido > '2023-
01-01');
Índices e Otimização
Criação de Índices
Índices melhoram a velocidade de consultas ao criar uma estrutura de dados que permite
buscas rápidas.
CREATE INDEX idx_nome ON usuarios (nome);
Otimização de Consultas
A otimização de consultas envolve a análise e melhoria do desempenho das consultas SQL.
Uso de EXPLAIN:
EXPLAIN SELECT * FROM usuarios WHERE nome = 'Rafael';
Evitar SELECT *:
SELECT nome, email FROM usuarios WHERE id = 1;
Segurança
Gerenciamento de Usuários e Permissões
É importante configurar usuários e permissões para garantir a segurança do banco de
dados.
Criação de Usuário:
CREATE USER 'novo_usuario'@'localhost' IDENTIFIED BY 'senha';
Concessão de Permissões:
GRANT SELECT, INSERT, UPDATE, DELETE ON nome_do_banco.* TO
'novo_usuario'@'localhost';
Revogação de Permissões:
REVOKE INSERT, UPDATE, DELETE ON nome_do_banco.* FROM
'novo_usuario'@'localhost';
Boas Práticas de Segurança
Use senhas fortes: Para todos os usuários do banco de dados.
Limite as permissões: Conceda apenas as permissões necessárias.
Atualize regularmente: Mantenha o MySQL atualizado com as últimas correções de
segurança.
Backup regular: Faça backups regulares do banco de dados para evitar perda de
dados.
Este é um resumo abrangente do capítulo sobre MySQL. Se precisar de mais detalhes
sobre algum tópico específico ou tiver alguma dúvida, sinta-se à vontade para perguntar!