Diferença entre delete e truncate

27/10/2016

30

SQL

Oi gente, uma pequena dúvida e se for algo fácil desculpem, mas não sei mesmo o que pode ser.

Qual a diferença que existe entre os comandos delete e truncate no sql?

Os dois apagam os dados da tabela. E se tiver diferença, em quais casos se deve usar um ou outro.
Responder

Post mais votado

27/10/2016

Complementando a resposta da Faabiianooc

O TRUNCATE é um comando DDL (Data Definition Language) e zera a indexação da tabela. Acredito que deve ser mais rápido que o DELETE também

O DELETE é um comando DML (Data Manipulation Language) e não zera a indexação da tabela. Como citado, pode usar a cláusula WHERE, que restringirá o comando ao que estiver na condição.

Espero ter ajudado!
Responder

Mais Posts

Truncate LIMPA a tabela e não gera log não usa where.
Delete limpa registros e gera log e pode usar where.
Responder

28/10/2016

Larissa Aguiar

Obrigada gente! Então não vejo no meu caso muita utilidade pro TRUNCATE. Parece que o DELETE me atende melhor.
Responder

01/10/2019

Rafael Costa

O TRUNCATE vai limpar totalmente a TABELA, então ele vai ser útil caso você queira por exemplo COPIAR UMA TABELA, porém quer está CÓPIA limpa, daí você usa o TRUNCATE. Este é um exemplo prático da utilização do TRUNCATE.

Já o DELETE é para você trabalhar mais precisamente numa tabela. Designando condições específicas para o que você quer deletar numa tabela.

Acho que é assim que você deve encarar esses comandos.
Responder