Drop vs Truncate
Drop e Truncate são duas instruções SQL (Structured Query Language) que são usadas em 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 de uma tabela e a instrução SQL relacionada. A operação de exclusão não é eficaz neste caso porque usa mais espaços de armazenamento do que Soltar e Truncar.
No caso, se quisermos descartar uma tabela em um banco de dados com todos os seus dados, o SQL nos permite fazer isso facilmente usando a instrução Drop. O comando Eliminar é um comando DDL (Linguagem de Definição de Dados) e pode ser usado para destruir um banco de dados, tabela, índice ou visualização existente. Exclui todas as informações de uma tabela, bem como a estrutura da tabela do banco de dados. Além disso, podemos desejar nos livrar de todos os dados de uma tabela de forma simples, mas sem a tabela, e podemos usar a instrução Truncate no SQL em tal cenário. Truncar também é um comando DDL e elimina todas as linhas de uma tabela, mas preserva a definição da tabela para uso futuro.
Comando de queda
Conforme mencionado anteriormente, o comando Drop remove a definição da tabela e todos os seus dados, restrições de integridade, índices, gatilhos e privilégios de acesso, que foram criados nessa tabela específica. Portanto, ele elimina totalmente o objeto existente do banco de dados, e os relacionamentos com outras tabelas também não serão mais válidos após a execução do 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 instrução Drop 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 instruçã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 referência de chave estrangeira ou aquela tabela em particular deve ser eliminada primeiro. Além disso, a instrução Drop não pode ser aplicada nas tabelas do sistema no banco de dados.
Como o comando Drop é uma instrução de confirmação automática, a operação, uma vez disparada, não pode ser revertida e nenhum gatilho será disparado. Quando uma tabela é eliminada, todas as referências à tabela não serão válidas e, portanto, 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.
Comando truncar
O comando Truncate é um comando DDL e remove todas as linhas de uma tabela sem quaisquer 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 permanecem as mesmas. O truncamento elimina dados de uma tabela desalocando as páginas de dados usadas para armazenar os dados da tabela, e apenas essas desalocações de página são mantidas no log de transações. Portanto, ele utiliza menos recursos de log de transações e recursos do sistema em comparação com outros comandos SQL relacionados, como Delete. Portanto, Truncate é uma instrução um pouco mais rápida do que outras. A seguir está a sintaxe típica para o comando Truncate.
TABELA TRUNCAR
Devemos substituir o nome da tabela, da qual queremos remover todos os dados, na sintaxe acima.
Truncar não pode ser usado em uma tabela que foi referenciada por uma restrição de chave estrangeira. Ele usa um commit automaticamente antes de agir e outro commit depois, então a reversão da transação é impossível e nenhum gatilho é disparado. Se quisermos reutilizar a tabela, precisamos apenas acessar a definição de tabela existente no banco de dados.
Qual é a diferença entre Drop e Truncate?
Os comandos Drop e Truncate são comandos DDL e também instruções de auto-commit para que as transações realizadas usando esses comandos não possam ser revertidas.
A principal diferença entre Eliminar e Truncar é que o comando Eliminar remove não apenas todos os dados em uma tabela, mas também remove a estrutura da tabela permanentemente do banco de dados com todas as referências, enquanto o comando Truncar remove apenas todas as linhas de uma tabela e preserva a estrutura da tabela e suas referências.
Se uma tabela for eliminada, os relacionamentos com outras tabelas não serão mais válidos e as restrições de integridade e privilégios de acesso também serão removidos. Portanto, se a tabela deve ser reutilizada, ela deve ser reconstruída com os relacionamentos, as restrições de integridade e também os privilégios de acesso. Mas se uma tabela for truncada, a estrutura da tabela e suas restrições permanecem para uso futuro e, portanto, nenhuma das recriações acima é necessária para reutilização.
Quando esses comandos são aplicados, devemos ser cautelosos ao usá-los. Além disso, devemos ter um melhor entendimento sobre a natureza desses comandos, como eles funcionam, e também um planejamento cuidadoso antes de usá-los, a fim de evitar a perda 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.