Diferença entre delete e truncate
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.
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.
Larissa Aguiar
Curtidas 1
Melhor post
Diego Silva
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!
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!
GOSTEI 3
Mais Respostas
Fabiano Carvalho
27/10/2016
Truncate LIMPA a tabela e não gera log não usa where.
Delete limpa registros e gera log e pode usar where.
Delete limpa registros e gera log e pode usar where.
GOSTEI 1
Larissa Aguiar
27/10/2016
Obrigada gente! Então não vejo no meu caso muita utilidade pro TRUNCATE. Parece que o DELETE me atende melhor.
GOSTEI 0
Rafael Costa
27/10/2016
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.
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.
GOSTEI 0
Talilo Araujo
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!
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!
Obrigado ajudou muito!!
GOSTEI 0
Arthur Heinrich
27/10/2016
Mais um detalhe complementar.
O delete atua de forma lógica, no conteúdo da tabela. Ele não modifica a estrutura física, que inclui o espaço alocado para a tabela e índices, com exceção de alguns bancos que tentar reorganizar a tabela, sempre que blocos ficam subutilizados.
Já o truncate faz com que a alocação de espaço seja liberada, tornando a tabela pequena e os índices organizados. Na prática, é como se fizéssemos um drop table seguido de create, novamente, mas sem perder os índices, permissões ou invalidar objetos que fazem referência à tabela.
O delete atua de forma lógica, no conteúdo da tabela. Ele não modifica a estrutura física, que inclui o espaço alocado para a tabela e índices, com exceção de alguns bancos que tentar reorganizar a tabela, sempre que blocos ficam subutilizados.
Já o truncate faz com que a alocação de espaço seja liberada, tornando a tabela pequena e os índices organizados. Na prática, é como se fizéssemos um drop table seguido de create, novamente, mas sem perder os índices, permissões ou invalidar objetos que fazem referência à tabela.
GOSTEI 1