SQL
do
Guia
Zero
Prático e
Essencial
para
Iniciantes
Tutorial de 10
Passos
Fundamentais
Página 1
1. Introdução ao Mundo dos Dados
SQL (Structured Query Language) é a linguagem padrão universal para gerir bases
de dados relacionais. Diferente de uma folha de cálculo comum, uma base de dados
SQL permite armazenar milhões de registos com segurança e rapidez.
• Bases de Dados: Contentores de tabelas.
• Tabelas: Estruturas de colunas (campos) e linhas (registos).
• SGBD: Sistemas como PostgreSQL, MySQL e SQL Server que interpretam o seu
SQL.
2. Tipos de Dados e Estrutura
Antes de guardar dados, precisamos definir o "molde". Cada coluna deve ter um tipo
definido:
• INT: Números inteiros (ex: Idade, Quantidade).
• VARCHAR(N): Texto de tamanho variável até N carateres.
• DECIMAL(10,2): Números com vírgula (ex: Preços, Salários).
• DATE: Datas no formato YYYY-MM-DD.
Página 2
3. Criação de Tabelas (DDL)
O comando CREATE TABLE é o ponto de partida. Aqui definimos as regras de
integridade.
CREATE TABLE Clientes (
id_cliente INT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(50) UNIQUE,
data_registo DATE
);
A PRIMARY KEY (Chave Primária) garante que cada cliente seja único.
4. Inserção de Dados (DML)
Para adicionar informações à nossa estrutura, usamos o comando INSERT INTO.
INSERT INTO Clientes (id_cliente, nome, email, data_registo)
VALUES (1, 'Ana Silva', 'ana@[Link]', '2023-10-01');
INSERT INTO Clientes (id_cliente, nome, email, data_registo)
VALUES (2, 'João Sousa', 'joao@[Link]', '2023-10-05');
5. Consultas Básicas (SELECT)
O SELECT é o comando mais comum. Ele permite extrair dados da tabela.
-- Selecionar todas as colunas
SELECT * FROM Clientes;
-- Selecionar apenas o nome e email
Página 3
SELECT nome, email FROM Clientes;
Página 4
6. Filtragem com WHERE
Para extrair dados específicos, aplicamos filtros condicionais.
-- Clientes registados após uma certa data
SELECT * FROM Clientes
WHERE data_registo > '2023-10-02';
-- Procurar por nomes que contenham "Ana"
SELECT * FROM Clientes
WHERE nome LIKE '%Ana%';
7. Ordenação e Limites
Organizar os resultados é essencial para relatórios claros.
-- Ordenar por nome de A a Z
SELECT * FROM Clientes
ORDER BY nome ASC;
-- Pegar apenas os 3 registos mais recentes
SELECT * FROM Clientes
ORDER BY data_registo DESC
LIMIT 3;
8. Atualização e Eliminação
Modificar dados existentes requer atenção redobrada ao filtro WHERE.
-- Atualizar o email de um cliente específico
UPDATE Clientes
SET email = 'novo_ana@[Link]'
WHERE id_cliente = 1;
Página 5
-- Remover um cliente
DELETE FROM Clientes
WHERE id_cliente = 2;
Página 6
9. Agregação de Dados
SQL permite realizar cálculos rápidos sobre grandes volumes de dados.
• COUNT(): Conta o número de linhas.
• SUM(): Soma valores numéricos.
• AVG(): Calcula a média aritmética.
SELECT COUNT(*) AS total_clientes FROM Clientes;
10. Uniões de Tabelas (JOINs)
Num banco de dados real, a informação está espalhada. O JOIN une essas partes.
-- Unir Clientes com os seus Pedidos
SELECT [Link], [Link]
FROM Clientes
INNER JOIN Pedidos ON Clientes.id_cliente = Pedidos.id_cliente;
Dica Final: A prática é o melhor professor. Utilize ferramentas como o SQLiteBrowser
ou sites como SQLZoo para testar estes comandos em tempo real.
Página 7