DEV Community

Yuri Peixinho
Yuri Peixinho

Posted on

Data Manipulation Language (DML)

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

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;
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','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');
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= 'ana.lima@email.com'
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.

Top comments (0)