Truncado vs. Exclua SQL

Truncado vs. Exclua SQL
Existem dois métodos principais para remover dados em um banco de dados SQL: truncar e excluir. Embora o processo possa parecer intimamente relacionado, entender a diferença entre esses comandos pode ser benéfico para determinar como lidar com dados.

Vamos dividir a diferença entre os comandos truncados e excluídos no SQL.

Comando sql truncate

O comando truncate no SQL é conhecido como linguagem de definição de dados. Os comandos truncados removem os dados de uma tabela enquanto preservam a estrutura da tabela. Ao contrário do comando Delete, você não pode filtrar registros específicos usando a cláusula WHERE.

Da mesma forma, não podemos executar reversão depois de executar os comandos truncados, pois nenhum tronco é preservado para este comando.

Nota: Alguns mecanismos de banco de dados suportam reversão para comandos truncados, mas isso não é universal.

Se uma tabela fizer parte de uma visão indexada ou referenciada por uma chave estrangeira, o comando truncate não funcionará nessa tabela.

A sintaxe do comando é como mostrado:

Truncate tabela tabela_name;

O comando truncate é mais rápido do que excluir, pois não executa uma varredura para os registros antes da remoção. Também garante que toda a tabela esteja bloqueada antes de remover os dados, reduzindo assim o espaço de transação.

Dependendo do mecanismo de banco de dados, você precisa de permissões explícitas para executar uma operação truncada em uma tabela. Por exemplo, no SQL Server, você precisa da permissão da tabela de alteradores. O MySQL requer permissão de queda, o PostgreSQL requer permissão truncada e o Oracle requer a queda de qualquer tabela Permissões de tabela.

SQL Excluir comando

O comando delete é um comando de manipulação de dados. Ele permite remover registros de uma tabela de banco de dados e retorna o número de registros excluídos. Os comandos delete removem as linhas de uma tabela e não a tabela inteira do banco de dados.

Ao contrário do comando truncate, o comando delete permite filtrar os registros de destino usando a cláusula onde.

A sintaxe do comando é mostrada abaixo:

Exclua da tabela_name;

Para filtrar registros específicos, você pode usar a sintaxe como mostrado abaixo:

Exclua da tabela_name onde condição;

Nota: Se você não especificar as colunas de destino, o comando removerá todos os registros da tabela fornecida.

Ao contrário do comando truncate, que trava a tabela inteira, o comando delete bloqueia linhas individuais que levam a um espaço de transação mais alto, especialmente em uma tabela grande.

Para executar um comando de exclusão em uma tabela, você precisa da permissão de exclusão.

Tabela de resumo

A tabela a seguir resume as diferenças entre os comandos SQL Excluir e Truncate.

SQL truncado SQL Excluir
Tipo Linguagem de definição de dados Linguagem de manipulação de dados
Tipo de bloqueio Mesa Linha
Reversão Alguns mecanismos de banco de dados Sim
Logs de transação Tabela inteira Por linha
Uso do espaço da transação Menos Mais alto
Suporte de gatilho Não Sim
Velocidade Muito rápido Lento
Tipo de remoção Todas as linhas Todas ou linhas específicas (conforme especificado)
Funciona com uma visão indexada? Não Sim
Redefinição da coluna de identidade Alguns mecanismos de banco de dados Não
Retorna os registros removidos? Não Sim

Na maioria dos casos, a escolha do melhor tipo de operação dependerá de suas necessidades específicas. No entanto, considere os seguintes pontos:

  1. Para linhas específicas, opte por excluir.
  2. Truncado é mais rápido que excluir; Portanto, use truncado se quiser remover todas as linhas em uma mesa.
  3. Se você não se importa com a estrutura da tabela, use outros comandos, como soltar.

Conclusão

Este artigo discute dois comandos fundamentais para remover dados em um banco de dados SQL. Usando este guia, você pode especificar explicitamente o que o comando truncate ou o comando delete faz em um banco de dados relacional. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e tutoriais.