Como excluir um registro do SQL sem apagar a tabela?

O comando DELETE remove registros específicos de uma tabela SQL sem afetar sua estrutura ou outros dados.

Como excluir um registro do SQL sem apagar a tabela?

Em SQL, podemos excluir registros de uma tabela sem remover sua estrutura utilizando o comando DELETE. Diferente do DROP TABLE, que apaga a tabela inteira, o DELETE permite remover dados seletivamente.

Excluindo um registro específico

Para remover um registro específico, utilizamos DELETE FROM com WHERE:

DELETE FROM usuarios WHERE id = 5;

O comando acima remove apenas o usuário cujo id seja 5.

Excluindo múltiplos registros com uma condição

Podemos excluir vários registros que atendam a um critério:

DELETE FROM pedidos WHERE status = 'cancelado';

Isso remove todos os pedidos que possuem o status "cancelado".

Excluindo todos os registros da tabela sem apagar a estrutura

Se quisermos limpar todos os dados sem excluir a tabela, usamos TRUNCATE TABLE:

TRUNCATE TABLE usuarios;

A diferença entre DELETE e TRUNCATE é que:

  • DELETE permite escolher quais registros excluir e mantém o histórico de IDs.
  • TRUNCATE remove todos os registros de uma vez, reiniciando a numeração automática da chave primária (se houver).

Excluir registros corretamente é uma prática fundamental no gerenciamento de bancos de dados. O comando DELETE permite remoções seletivas e é essencial para manter a integridade dos dados. Já o TRUNCATE é mais eficiente quando precisamos limpar uma tabela completamente, pois é mais rápido que DELETE, pois não armazena informações de transação. Em sistemas críticos, é recomendável utilizar transações antes de excluir registros para evitar a perda de dados acidentalmente. Além disso, sempre revise a cláusula WHERE para evitar exclusões em massa não planejadas.

Algumas aplicações:

  • Remoção de usuários inativos em um sistema
  • Exclusão de pedidos cancelados em uma loja virtual
  • Limpeza de logs antigos para otimizar a performance
  • Gestão de dados obsoletos sem alterar a estrutura do banco

Dicas para quem está começando

  • Sempre utilize WHERE para evitar excluir todos os registros sem querer
  • Antes de um DELETE, teste um SELECT com a mesma condição para verificar os registros afetados
  • Se precisar excluir muitos registros, avalie se TRUNCATE TABLE seria mais eficiente
  • Faça backup dos dados antes de excluir informações importantes
  • Considere usar ON DELETE CASCADE para exclusões automáticas em tabelas relacionadas

Contribuições de Fernando Albuquerque

Compartilhe este tutorial: Como excluir um registro do SQL sem apagar a tabela?

Compartilhe este tutorial

Continue aprendendo:

Como atualizar um registro em uma tabela SQL?

O comando UPDATE no SQL permite modificar registros existentes em uma tabela, alterando valores de colunas conforme necessário.

Tutorial anterior

O que é um índice no SQL e como criar um?

Índices no SQL são estruturas que otimizam a busca de registros, melhorando a velocidade das consultas em grandes bases de dados.

Próximo tutorial