Introdução
DML é o conjunto de comandos que os usuários e aplicações usam no dia a dia: consultar, inserir, atualizar e deletar dados. Se o DDL define o esquema, o DML é o que acontece dentro dele ao longo de toda a vida do sistema.
SELECT
O comando mais usado em SQL. Consulta dados de uma ou mais tabelas.
SELECT nome, email
FROM clientes
WHERE criado_em>= '2024-01-01'
ORDER BY nomeASC;
O SELECT é composto por cláusulas que se encaixam numa ordem lógica:
| Cláusula | Função |
|---|---|
FROM |
Define de onde os dados vêm |
WHERE |
Filtra as linhas antes de agrupar |
JOIN |
Combina dados de outras tabelas |
GROUP BY |
Agrupa linhas por um critério |
HAVING |
Filtra grupos (depois do GROUP BY) |
ORDER BY |
Ordena o resultado final |
Um exemplo com mais cláusulas:
SELECT
c.nome,
COUNT(p.id)AS total_pedidos,
SUM(p.valor)AS valor_total
FROM clientes c
JOIN pedidos pON p.cliente_id= c.id
WHERE p.criado_em>= '2024-01-01'
GROUP BY c.nome
HAVING SUM(p.valor)> 1000
ORDER BY valor_totalDESC;
Este SELECT retorna clientes que, desde 2024, acumularam mais de R$ 1.000 em pedidos — ordenados do maior para o menor.
INSERT
Adiciona novos registros a uma tabela.
-- Inserindo um registro
INSERT INTO clientes (id, nome, email)
VALUES (1,'Ana Lima','ana@email.com');
-- Inserindo vários de uma vez
INSERT INTO clientes (id, nome, email)
VALUES
(2,'Bruno Melo','bruno@email.com'),
(3,'Carla Nunes','carla@email.com');
UPDATE
Altera registros já existentes. Sempre use WHERE — sem ele, o UPDATE afeta todas as linhas da tabela.
UPDATE clientes
SET email= 'ana.lima@email.com'
WHERE id= 1;
DELETE
Remove registros. Assim como o UPDATE, exige atenção ao WHERE.
DELETE FROM clientes
WHERE id= 3;
Diferente do TRUNCATE, o DELETE processa linha por linha, dispara triggers e pode ser revertido dentro de uma transação — o que o torna mais seguro, mas mais lento em volumes grandes.
Top comments (0)