DevPath · Aprenda a programar ESPTEN

Design, normalização e modificação de dados

Modificar dados: INSERT, UPDATE, DELETE e restrições

A linguagem de manipulação de dados (DML)

Enquanto SELECT , estas três instruções modificam o conteúdo das tabelas.

INSERT — adicionar linhas

INSERT INTO clientes (id, nome, email, ativo)
VALUES (4, 'Sara Vega', 'sara@example.com', 1);

Você indica a tabela, as colunas e os valores. As colunas com DEFAULT ou que admitem NULL podem ser omitidas.

UPDATE — alterar linhas existentes

UPDATE pedidos SET status = 'pago' WHERE id = 2;

⚠️ Sem WHERE, UPDATE modifica TODAS as linhas. O WHERE decide quais linhas serão alteradas.

DELETE — apagar linhas

DELETE FROM pedidos WHERE status = 'cancelado';

⚠️ Igual ao UPDATE: sem WHERE, DELETE esvazia toda a tabela.

Restrições (constraints)

As restrições são declaradas no CREATE TABLE e fazem com que o banco de dados rejeite dados inválidos, protegendo a integridade:

Restrição O que garante
NOT NULL a coluna não pode ficar vazia
UNIQUE o valor não se repete (p. ex. um email)
CHECK (cond) o valor cumpre uma condição (total >= 0)
DEFAULT v valor padrão se nenhum outro for indicado
FOREIGN KEY o valor deve existir na tabela referenciada
CREATE TABLE pedidos (
  id INTEGER PRIMARY KEY,
  cliente_id INTEGER NOT NULL,
  total REAL NOT NULL CHECK (total >= 0),
  status TEXT NOT NULL DEFAULT 'pendente',
  FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);

Projetar com restrições significa que muitos erros se tornam impossíveis: não entra um pedido com total negativo, nem dois clientes com o mesmo email, nem um pedido órfão sem cliente.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
← Normalização: 1FN, 2FN e 3FNVer o módulo →