Diferença entre truncar e excluir Diferença entre

Anonim

A criação e manipulação de dados são a base de bancos de dados e o chamamos de DDL e DML, respectivamente. Um DDL é uma abreviatura para o Idioma de Definição de Dados. Poderia criar ou modificar as estruturas de dados nos bancos de dados e não podiam ser usados ​​para alterar os dados presentes nas tabelas. Por exemplo, temos comandos que apenas criam uma tabela com os atributos de tabela especificados, mas nunca adiciona nenhuma linha na tabela. Mas um DML, o Data Manipulation Language, é capaz de adicionar, excluir ou modificar dados nas tabelas. Como regra geral, os comandos DDL tratam das estruturas da tabela, enquanto os comandos DML tratam dos dados reais. Deixe-se ser, por que simplesmente nos desviamos do tópico "Diferença entre truncar e excluir"? Há razões que falamos sobre o DML e o DDL. Você entenderia isso na discussão anterior.

O que é um comando Truncate?

O propósito de um comando Truncate é excluir a tabela inteira. Então, quando você usa um comando Truncate, você vai perder todos os dados na tabela e você deve ter cuidado ao usá-lo. Deixe-nos saber como usá-lo.

A sintaxe de Truncate:

TRUNCATE TABLE table-name ;

Aqui, você deve especificar o nome da tabela que deve ser excluída no todo. Isso garante que haveria qualquer mesa sentada no espaço da memória. Aqui está um exemplo de usar Truncate.

Abaixo está a tabela "empregado" e apenas veja as linhas de dados nela.

emp-id emp-name designação
1011 Jack Empregado
1012 Rosy Admin
1014 Nancy > Finanças
Agora, deixe-nos emitir o comando abaixo na tabela do empregado.

TRUNCATE TABLE

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

emp-id

emp-name designação O que é um comando de exclusão?

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

DELETE FROM

empregado; A sintaxe acima exclui todas as linhas da tabela "empregado". Portanto, a tabela resultante não conteria dados.

DELETE FROM

empregado ONDE emp-id = 1011; Esta declaração apenas exclui uma única linha cujo emp-id é 1011. Portanto, a tabela resultante seria como abaixo.

emp-id

emp-name designação 1012
Rosy Admin 1014
Nancy Finanças Diferenças:

Truncate is um DDL; Delete é um DML:

  • Discutimos acima como o DDL e o DML funcionam em nossa discussão acima.O comando Truncate é um DDL e ele opera no nível da estrutura de dados. Mas Delete é um comando DML e opera nos dados da tabela. Outros exemplos para DDL são CREATE e ALTER. Da mesma forma, podemos dizer que os comandos como SELECT, UPDATE e REPLACE são exemplos perfeitos para um DML. Como funciona Truncate e Delete:
  • Assim que emitimos o comando Truncate, ele apenas procura a tabela especificada. Então ele remove completamente todos os dados da memória. Mas o procedimento de trabalho é pouco diferente no caso de uma eliminação. Aqui, os dados originais do quadro são copiados para o espaço chamado 'Roll back' antes de fazer a manipulação de dados real. Em seguida, as alterações são feitas no espaço de dados da tabela real. Então, ambos diferem na forma como eles funcionam. Truncar

-> remover dados inteiros da tabela -> O espaço da tabela é liberado agora. Excluir

-> Copiar os dados da tabela original para o espaço de rolar para trás -> excluir os dados especificados / tabela inteira -> O espaço da tabela é liberado, mas o espaço de rolagem está preenchido. Roll back:

  • Um roll back é como um comando Undo em nossos acessórios da Microsoft. Ele é usado para cancelar as mudanças que fizemos recentemente i. e. do último ponto salvo. Para realizar a operação, os dados devem ser copiados para o espaço de rolagem antes de serem editados. Embora esses Roll Backs exijam a memória extra, eles são extremamente úteis para voltar ao original. Especialmente, quando você alguma edição por engano! Deixe-nos chegar ao Truncar e Apagar com respeito ao Roll agora. Como discutimos acima, o Truncate nunca usa um espaço de retrocesso e não conseguimos voltar aos dados originais. Mas o comando Eliminar usa o espaço de retrocesso e podemos usar apenas 'Cometer' ou 'RollBack' para aceitar ou cancelar as alterações, respectivamente. Disparadores:
  • Para aqueles que precisam de uma explicação sobre os gatilhos, aqui está uma pequena nota. Os disparadores 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 desencadear a mudança do salário quando a experiência de um funcionário com a empresa é superior a um ano. Esses gatilhos também podem funcionar em outras mesas. Por exemplo, podemos atualizar a tabela de finanças assim que uma caminhada no salário foi feita para um empregado. Truncate é um comando DDL, o gatilho não está permitido aqui. Mas um Delete é um comando DML, são permitidos os disparadores aqui.

Qual é mais rápido?

  • Como você adivinhou, o comando Truncate seria mais rápido do que o comando Delete. O primeiro poderia remover todos os dados e não há necessidade de verificar quaisquer condições de correspondência. 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 tornam o Truncate funcionar mais rápido que o Delete. Podemos usar a cláusula WHERE?
  • A cláusula "Onde" é usada para especificar determinadas condições de correspondência e não é nada com o Truncate. Como Truncate nunca procura por condições de correspondência e simplesmente remove todas as linhas, não poderíamos usar uma cláusula "Onde" aqui.Mas sempre podemos especificar a condição com a ajuda da cláusula 'onde' no comando Excluir. O que ocupa mais espaço?
  • O trunfo não vai usar o espaço de reversão e ele salva essa memória. Mas delete 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 permitam-nos olhar de forma tabular.

S. Não

Diferenças em Truncar Excluir 1.
DDL ou DML? É um DDL e ele opera no nível da estrutura de dados. Outros exemplos para 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 REPLACE são exemplos perfeitos para um DML. O DML significa Linguagem de Manipulação de Dados.

2.

Como isso funciona? Assim que emitimos o comando Truncate, ele apenas procura a tabela especificada. Então ele remove completamente todos os dados da memória. Aqui, os dados originais do quadro são copiados para o espaço chamado 'Roll back' antes de fazer a manipulação de dados real. Em seguida, as alterações são feitas no espaço de dados da tabela real. 3.
RollBack O comando Truncate nunca usa um espaço de retrocesso e não conseguimos voltar aos dados originais. Um espaço de reversão é exclusivo e está ocupado quando os comandos DML são emitidos. O comando Excluir usa o espaço de retrocesso e podemos simplesmente usar 'Comprometer' ou 'RollBack' para aceitar ou cancelar as alterações, respectivamente. 4.

Triggers Truncate é um comando DDL, não são permitidos gatilhos. Excluir é um comando DML, os disparadores são permitidos aqui. 5.

Qual é mais rápido? Pode remover todos os dados e não há necessidade de verificar se há condições de correspondência. 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 tornam 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. Este é um fardo extra e, por sua vez, leva muito tempo do que o Truncate.

6.
Podemos usar a cláusula WHERE? Como Truncate nunca procura por condições de correspondência e simplesmente remove todas as linhas, não poderíamos usar uma cláusula "Onde" aqui. Mas sempre podemos especificar a condição com a ajuda da cláusula "onde" no comando Excluir. 7.
O que ocupa mais espaço? O trunfo não vai usar o espaço de reversão e ele salva essa memória. Precisa de um backup na forma de espaço de reversão e, portanto, requer mais espaço de memória do que o truncar. Conhecer as diferenças entre duas entidades amplia o conhecimento em ambos! Você aterrou no caminho certo i. e. a página web para entender as diferenças, especialmente, entre os comandos truncar e excluir. Espero que você esteja agora claro com suas diferenças e deixe-nos saber se nós o ajudamos a entender. Você também pode nos ajudar a apontar qual foi deixado!