Data Manipulation Language (DML)

작성자

카테고리:

← 피드로
DEV Community · Yuri Peixinho · 2026-07-13 개발(SW)

Yuri Peixinho

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','[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.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다