Diferença entre truncar e excluir

A criação e manipulação de dados formam a base dos bancos de dados e denominamos DDL e DML, respectivamente. DDL é uma abreviação de Data Definition Language. Ele poderia criar ou modificar as estruturas de dados nos bancos de dados e elas não puderam ser usadas para alterar os dados presentes nas tabelas. Por exemplo, temos comandos que apenas criam uma tabela com os atributos de tabela especificados, mas nunca adicionam nenhuma linha à tabela. Mas um DML, a Data Manipulation Language, é capaz de adicionar, excluir ou modificar dados nas tabelas. Como regra geral, os comandos DDL lidam com as estruturas da tabela, enquanto os comandos DML lidam com os dados reais. Seja como for, por que simplesmente nos desviamos do tópico "Diferença entre Truncar e Excluir"? Há razões pelas quais falamos sobre o DML e o DDL. Você entenderia isso na próxima discussão.

O que é um comando Truncar?

O objetivo de um comando Truncar é excluir a tabela inteira. Portanto, quando você usa um comando Truncar, perde todos os dados da tabela e deve ser cauteloso ao usá-los. Vamos saber como usá-lo.

A sintaxe do Truncate:

TABELA TRUNCATE Nome da tabela;

Aqui, você deve especificar o nome da tabela que deve ser excluída no seu conjunto. Isso garante que haja qualquer mesa no espaço de memória. Aqui está um exemplo do uso de Truncate.

Abaixo está a tabela 'employee' e basta olhar para as linhas de dados nela.

emp-id emp-name designação
1011 Jack Escriturário
1012 Rosy Admin
1014 Nancy Finança

Agora, vamos emitir o comando abaixo na tabela de funcionários.

TABELA TRUNCATE empregado;

Aqui está o resultado da sintaxe acima e não há dados nela.

emp-id emp-name designação

O que é um comando Excluir?

O objetivo de um comando Excluir é remover as linhas especificadas da tabela. Aqui, a cláusula 'Where' é usada aqui para especificar as linhas que precisam ser excluídas. Quando não especificamos as linhas, o comando excluiria todas as linhas da tabela. Basta olhar para a sintaxe dele.

EXCLUIR DE empregado;

A sintaxe acima exclui todas as linhas da tabela 'employee'. Portanto, a tabela resultante não conteria dados.

EXCLUIR DE empregado ONDE emp-id = 1011;

Esta instrução exclui apenas uma única linha cujo emp-id é 1011. Portanto, a tabela resultante seria a seguinte.

emp-id emp-name designação
1012 Rosy Admin
1014 Nancy Finança

Diferenças:

  • Truncar é um DDL; Excluir é um DML: Discutimos acima como o DDL e o DML funcionam em nossa discussão acima. O comando Truncar é um DDL e opera no nível da estrutura de dados. Mas Excluir é um comando DML e opera nos dados da tabela. Outros exemplos de DDL são CREATE e ALTER. De maneira semelhante, poderíamos dizer que comandos como SELECT, UPDATE e INSERT são exemplos perfeitos para um DML.
  • Como o Truncar e Excluir funciona: Assim que emitimos o comando Truncar, ele apenas procura a tabela especificada. Em seguida, remove completamente todos os dados da memória. Mas o procedimento de trabalho é um pouco diferente no caso de uma exclusão. Aqui, os dados da tabela original são copiados para o espaço chamado espaço 'Reverter' antes de fazer a manipulação real dos dados. Em seguida, as alterações são feitas no espaço de dados da tabela real. Então, os dois diferem na maneira como trabalham.

Truncar -> remover dados inteiros da tabela -> o espaço de tabela é liberado agora.

Excluir -> Copie os dados da tabela original para o espaço Rollback -> exclua os dados especificados / a tabela inteira -> o espaço da tabela é liberado, mas o espaço Rollback é preenchido.

  • Reverter: Uma reversão é como um comando Desfazer em nossos acessórios da Microsoft. É usado para cancelar as alterações que fizemos recentemente, ou seja, a partir do último ponto salvo. Para executar a operação, os dados devem ser copiados no espaço Roll Back antes de serem editados. Embora essas reversões exijam memória extra, são extremamente úteis para retornar ao original. Especialmente, quando você faz algumas edições por engano! Vamos ao Truncate e Delete com relação ao Rollback agora. Como discutimos acima, o Truncate nunca usa um espaço de reversão e não pudemos voltar aos dados originais. Mas o comando Delete usa o espaço de reversão e podemos usar 'Commit' ou 'RollBack' para aceitar ou cancelar as alterações, respectivamente.
  • Gatilhos: Para aqueles que precisam de uma explicação sobre gatilhos, aqui está uma pequena nota. Triggers são um conjunto pré-especificado de operações / operação que deve ser ativado quando a tabela encontrar uma condição específica. Por exemplo, podemos acionar a alteração do valor do salário quando a experiência de um funcionário com a empresa for superior a um ano. Esses gatilhos também podem funcionar em outras tabelas. Por exemplo, podemos atualizar a tabela financeira assim que um aumento no salário for feito para um funcionário.

Truncar é um comando DDL, o gatilho não é permitido aqui. Mas um Delete é um comando DML, Triggers são permitidos aqui.

  • O que é mais rápido? Como você adivinhou, o comando Truncar seria mais rápido que o comando Excluir. O primeiro pode remover todos os dados e não há necessidade de verificar se há condições correspondentes. Além disso, os dados originais não são copiados para o espaço de reversão e isso economiza muito tempo. Esses dois fatores fazem o Truncate funcionar mais rápido que o Delete.
  • Podemos usar a cláusula WHERE? A cláusula 'Where' é usada para especificar certas condições correspondentes e não tem nada a ver com o Truncate. Como o Truncate nunca procura por condições correspondentes e apenas remove todas as linhas, não podemos usar uma cláusula 'Where' aqui. Mas sempre podemos especificar a condição com a ajuda da cláusula 'where' no comando Excluir.
  • Que ocupa mais espaço? O truncado não vai usar o espaço de reversão e economiza essa memória. Mas a exclusão precisa de um backup na forma de espaço de reversão e, portanto, requer mais espaço de memória do que o truncado.

Então, essas são as diferenças e vamos olhar de forma tabular.

S.No Diferenças em Truncar Excluir
1. DDL ou DML? É um DDL e opera no nível da estrutura de dados. Outros exemplos de DDL são CREATE e ALTER. É um comando DML e opera nos dados da tabela. O DML significa Linguagem de manipulação de dados. Os comandos como SELECT, UPDATE e INSERT são exemplos perfeitos para um DML. O DML significa Linguagem de Manipulação de Dados.

2. Como funciona? Assim que emitimos o comando Truncar, ele apenas procura a tabela especificada. Em seguida, remove completamente todos os dados da memória. Aqui, os dados da tabela original são copiados para o espaço chamado espaço 'Reverter' antes de fazer a manipulação real dos dados. Em seguida, as alterações são feitas no espaço de dados da tabela real.
3. RollBack O comando Truncar nunca usa um espaço de reversão e não foi possível retornar aos dados originais. Um espaço de reversão é exclusivo e é ocupado quando os comandos DML são emitidos. O comando Delete usa o espaço de reversão e podemos usar 'Commit' ou 'RollBack' para aceitar ou cancelar as alterações, respectivamente.

4. Gatilhos Truncar é um comando DDL, gatilhos não são permitidos. Excluir é um comando DML, gatilhos são permitidos aqui.

5. O que é mais rápido? Ele pode remover todos os dados e não há necessidade de verificar se há condições correspondentes. Além disso, os dados originais não são copiados para o espaço de reversão e isso economiza muito tempo. Esses dois fatores fazem o Truncate funcionar mais rápido que o Delete.

Ele usa o espaço de reversão e sempre os dados originais devem ser mantidos nele. Isso é um fardo extra e, por sua vez, leva muito tempo que o Truncate.
6. Podemos usar a cláusula WHERE? Como o Truncate nunca procura nenhuma condição correspondente e apenas remove todas as linhas, não podemos usar uma cláusula 'Where' aqui. Mas sempre podemos especificar a condição com a ajuda da cláusula 'where' no comando Excluir.
7. Que ocupa mais espaço? O truncado não vai usar o espaço de reversão e economiza essa memória. Ele precisa de um backup na forma de espaço de reversão e, portanto, requer mais espaço de memória do que o truncado.

Conhecer as diferenças entre duas entidades amplia o conhecimento de ambas! Você chegou ao caminho certo, ou seja, a página da web para entender as diferenças, especialmente entre os comandos truncar e excluir. Espero que agora você esteja claro com suas diferenças e deixe-nos saber se nós o ajudamos a entender isso. Você também pode nos ajudar a apontar quais foram deixados!