Painel de dados com gráficos e indicadores
O CRUD representa o ciclo básico de vida de um registro em um sistema. Crédito da foto.
Compartilhe este conteúdo

CRUD é um modelo usado para representar quatro operações básicas do ciclo de vida dos dados: criar, consultar, atualizar e excluir. Ele não é um comando nem uma linguagem; em bancos relacionais, essas ações costumam ser implementadas com INSERT, SELECT, UPDATE e DELETE.

CRUD significa: Create, Read, Update e Delete. Em SQL, essas ações normalmente correspondem a INSERT, SELECT, UPDATE e DELETE.

Antes do CRUD: criando a tabela

Usaremos uma tabela simples de alunos em PostgreSQL. O identificador é gerado automaticamente e a coluna de e-mail não permite valores repetidos.

CREATE TABLE alunos (
    id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    email VARCHAR(150) UNIQUE NOT NULL,
    turma VARCHAR(30),
    ativo BOOLEAN DEFAULT TRUE
);

1. Create: cadastrar um registro

O comando INSERT inclui uma nova linha. Informamos as colunas e, em seguida, os valores na mesma ordem.

INSERT INTO alunos (nome, email, turma)
VALUES ('Marina Alves', 'marina@email.com', '1ª Série A');

Também é possível cadastrar mais de um registro em um único comando:

INSERT INTO alunos (nome, email, turma)
VALUES
  ('João Lima', 'joao@email.com', '1ª Série B'),
  ('Ana Souza', 'ana@email.com', '1ª Série A');

2. Read: consultar registros

SELECT lê dados sem alterá-los. O asterisco solicita todas as colunas, mas em aplicações reais é melhor selecionar apenas as necessárias.

SELECT id, nome, turma
FROM alunos
WHERE ativo = TRUE
ORDER BY nome;

O WHERE filtra, e o ORDER BY organiza. Para limitar resultados, podemos acrescentar LIMIT 10.

3. Update: atualizar um registro

UPDATE altera dados existentes. O WHERE define quais registros serão modificados.

UPDATE alunos
SET turma = '1ª Série B'
WHERE id = 1;

Sem a condição, todos os alunos receberiam a mesma turma. Antes de uma alteração importante, execute um SELECT com a mesma condição para confirmar o alvo.

4. Delete: excluir um registro

DELETE FROM alunos
WHERE id = 1;

A exclusão física remove a linha. Alguns sistemas preferem a exclusão lógica: mantêm o registro e alteram um campo como ativo. Isso preserva histórico quando a regra de negócio permite.

UPDATE alunos
SET ativo = FALSE
WHERE id = 1;

Cuidados que evitam problemas

  • Use WHERE em UPDATE e DELETE quando a intenção não for atingir toda a tabela.
  • Valide dados também no servidor, não apenas na tela.
  • Utilize parâmetros nas aplicações para reduzir risco de injeção SQL.
  • Controle permissões: nem todo usuário deve excluir ou alterar registros.
  • Mantenha backup e histórico para dados importantes.
  • Use transações quando várias operações precisam acontecer juntas.

CRUD na interface de um sistema

Ação do usuárioOperaçãoSQL comum
CadastrarCreateINSERT
Visualizar ou buscarReadSELECT
EditarUpdateUPDATE
RemoverDeleteDELETE

Atividade prática

Crie uma tabela livros com id, título, autor, ano e disponível. Cadastre três livros, consulte apenas os disponíveis em ordem de título, atualize o ano de um registro e marque outro como indisponível. Por último, explique quando seria melhor excluir fisicamente ou apenas alterar o status.

Perguntas frequentes

CRUD é uma linguagem?

Não. É uma forma de agrupar operações. Elas podem ser implementadas com SQL, APIs, interfaces e diferentes linguagens.

ORDER BY, LIMIT e LIKE fazem parte do CRUD?

São recursos usados principalmente na leitura, isto é, no SELECT. Eles organizam, limitam e filtram resultados.

DELETE sempre apaga para sempre?

No banco, a linha é removida; ainda pode existir em backups ou históricos. Sistemas também podem usar exclusão lógica em vez de DELETE.

Referências bibliográficas

Obras reconhecidas que fundamentam e aprofundam os conceitos apresentados neste artigo.

  1. ELMASRI, Ramez; NAVATHE, Shamkant B. Fundamentals of Database Systems. 7. ed. Pearson, 2016.
  2. BEAULIEU, Alan. Learning SQL. 3. ed. O’Reilly Media, 2020.

Consulte a bibliografia completa do Código em Sala.