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;
Enter fullscreen mode Exit fullscreen mode
O SELECT é composto por cláusulas que se encaixam numa ordem lógica:
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;
Enter fullscreen mode Exit fullscreen mode
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','[email protected]');
-- Inserindo vários de uma vez
INSERT INTO clientes (id, nome, email)
VALUES
(2,'Bruno Melo','[email protected]'),
(3,'Carla Nunes','[email protected]');
Enter fullscreen mode Exit fullscreen mode
UPDATE
Altera registros já existentes. Sempre use WHERE — sem ele, o UPDATE afeta todas as linhas da tabela.
UPDATE clientes
SET email= '[email protected]'
WHERE id= 1;
Enter fullscreen mode Exit fullscreen mode
DELETE
Remove registros. Assim como o UPDATE, exige atenção ao WHERE.
DELETE FROM clientes
WHERE id= 3;
Enter fullscreen mode Exit fullscreen mode
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.
답글 남기기