Diferença entre Drop e Truncate

Anonim

Drop vs Truncate

Drop e Truncate são duas instruções SQL (Structured Query Language) que são usadas nos Sistemas de Gerenciamento de Banco de Dados, onde desejamos remover registros de dados de um banco de dados. As instruções Drop e Truncate removem todos os dados em uma tabela e a instrução SQL relacionada. A operação de exclusão não é efetiva neste caso porque ele usa mais espaços de armazenamento que Drop and Truncate.

No caso, se quisermos descartar uma tabela em um banco de dados completamente com todos os seus dados, o SQL nos permite realizar isso com facilidade usando a declaração Drop. O comando Drop é um comando DDL (Data Definition Language), e pode ser usado para destruir um banco de dados, tabela, índice ou exibição existente. Ele exclui toda a informação em uma tabela, bem como a estrutura da tabela do banco de dados. Além disso, talvez desejemos eliminar todos os dados em uma tabela simplesmente, mas sem a tabela, e podemos usar a instrução Truncate no SQL em tal cenário. Truncate também é um comando DDL e elimina todas as linhas em uma tabela, mas preserva a mesma definição de tabela para uso futuro.

Comando de soltar

Como mencionado anteriormente, o comando Drop remove a definição da tabela e todos os seus dados, restrições de integridade, índices, disparadores e privilégios de acesso, que foi criado nessa tabela em particular. Portanto, ele descarta inteiramente o objeto existente do banco de dados e as relações com outras tabelas também não serão válidas depois de executar o comando. Também remove todas as informações sobre a tabela do dicionário de dados. A seguir está a sintaxe típica para usar a declaração de queda em uma tabela.

DROP TABLE

Temos que simplesmente substituir o nome da tabela que queremos remover do banco de dados no exemplo acima do comando Drop.

É importante ressaltar que a declaração Drop não pode ser usada para excluir uma tabela, que já foi referenciada por uma restrição de chave estrangeira. Nesse caso, a restrição de chave estrangeira de referência, ou essa tabela particular deve ter que ser descartada primeiro. Além disso, a declaração Drop não pode ser aplicada nas tabelas do sistema no banco de dados.

Como o comando Drop é uma declaração de confirmação automática, a operação uma vez disparada não pode ser revertida e nenhum disparador será disparado. Quando uma tabela é descartada, todas as referências à tabela não serão válidas e, se quisermos usar a tabela novamente, ela deve ser recriada com todas as restrições de integridade e privilégios de acesso. Todas as relações com as outras tabelas, também devem ser localizadas novamente.

Truncar comando

Truncar comando é um comando DDL, e remove todas as linhas de uma tabela sem condições especificadas pelo usuário e libera o espaço usado pela tabela, mas a estrutura da tabela com suas colunas, índices e restrições permanece o mesmo.Truncar elimina os dados de uma tabela desalocando as páginas de dados usadas para armazenar os dados da tabela, e somente essas desalocações de página são mantidas no log de transações. Por isso, utiliza menos recursos de log de transações e recursos do sistema em comparação com outros comandos SQL relacionados, como Delete. Então Truncate é uma declaração um pouco mais rápida do que outros. A seguir está a sintaxe típica do comando Truncate.

TRUNCATE TABLE

Devemos substituir o nome da tabela, do qual queremos remover todos os dados, na sintaxe acima.

Truncate não pode ser usado em uma tabela que tenha sido referenciada por uma restrição de chave estrangeira. Ele usa um commit automaticamente antes de atuar e outro comete depois, então a reversão da transação é impossível e nenhum acionador é disparado. Se quisermos reutilizar a tabela, só precisamos acessar a definição da tabela existente no banco de dados.

Qual a diferença entre Drop e Truncate?

Tanto os comandos Drop e Truncate são comandos DDL e também declarações de confirmação automática para que as transações realizadas usando esses comandos não possam ser revertidas.

A principal diferença entre Drop e Truncate é que o comando Drop remove, não apenas todos os dados de uma tabela, mas também remove a estrutura da tabela permanentemente do banco de dados com todas as referências, enquanto o comando Truncate remove apenas todas as linhas em uma mesa, e preserva a estrutura da tabela e suas referências.

Se uma tabela for descartada, as relações com outras tabelas não serão mais válidas e as restrições de integridade e os privilégios de acesso também serão removidos. Portanto, se a tabela é necessária para reutilizar, ela deve ser reconstruída com os relacionamentos, restrições de integridade e também os privilégios de acesso. Mas se uma tabela é truncada, a estrutura da tabela e suas restrições permanecem para uso futuro e, portanto, nenhuma das recreações acima não é necessária para reutilização.

Quando esses comandos são aplicados, devemos ter cuidado para usá-los. Além disso, devemos ter uma melhor compreensão sobre a natureza desses comandos, como eles funcionam, e também um planejamento cuidadoso antes de usá-los para evitar a falta de itens essenciais. Finalmente, ambos os comandos podem ser usados ​​para limpar os bancos de dados de forma rápida e fácil, consumindo menos recursos.