A instrução `TRUNCATE TABLE` no MySQL é usada para excluir todas as linhas de uma tabela, redefinindo-a efetivamente para seu estado vazio. Ao contrário do `DELETE`, ele executa essa operação rapidamente, desalocando as páginas de dados usadas pela tabela.
Uso
A instrução `TRUNCATE TABLE` é usada quando você precisa remover rapidamente todos os dados de uma tabela sem registrar as exclusões de linhas individuais. Geralmente é usado durante o desenvolvimento ou ao redefinir tabelas para ambientes de teste.
Nessa sintaxe, `TRUNCATE TABLE nome_da_tabela` especifica a tabela da qual todas as linhas serão removidas. Observe que `TRUNCATE TABLE` é uma operação de linguagem de definição de dados (DDL) e confirma implicitamente a transação, o que significa que seus efeitos são imediatos e não podem ser revertidos se você não estiver em uma transação.
O truncamento da tabela `logs` não apenas exclui todas as linhas, mas também redefine os contadores de incremento automático para seus valores iniciais.
Dicas e práticas recomendadas
Use com cuidado. O `TRUNCATE TABLE` não pode ser revertido se não estiver em uma transação; certifique-se de que você deseja excluir permanentemente todos os dados.
Considere as chaves estrangeiras. Desative temporariamente as verificações de chave estrangeira, se necessário, ao truncar tabelas com dependências.
Redefinir os dados de forma eficaz. Utilize esse comando para redefinições rápidas de dados em ambientes de teste ou desenvolvimento, em vez de usar `DELETE`.
Cuidado com as permissões. Certifique-se de que você tenha as permissões necessárias, pois o `TRUNCATE TABLE` exige privilégios `DROP` na tabela.
Os acionadores não são ativados. Ao contrário do `DELETE`, o `TRUNCATE TABLE` não ativa os acionadores, o que pode ser uma consideração importante nas operações do banco de dados que você realiza.
Impacto sobre os índices. O truncamento de uma tabela também removerá e recriará os índices, o que pode resultar em melhorias de desempenho ao redefinir tabelas grandes.
A instrução `TRUNCATE TABLE` no MySQL é usada para excluir todas as linhas de uma tabela, redefinindo-a efetivamente para seu estado vazio. Ao contrário do `DELETE`, ele executa essa operação rapidamente, desalocando as páginas de dados usadas pela tabela.
Uso
A instrução `TRUNCATE TABLE` é usada quando você precisa remover rapidamente todos os dados de uma tabela sem registrar as exclusões de linhas individuais. Geralmente é usado durante o desenvolvimento ou ao redefinir tabelas para ambientes de teste.
Nessa sintaxe, `TRUNCATE TABLE nome_da_tabela` especifica a tabela da qual todas as linhas serão removidas. Observe que `TRUNCATE TABLE` é uma operação de linguagem de definição de dados (DDL) e confirma implicitamente a transação, o que significa que seus efeitos são imediatos e não podem ser revertidos se você não estiver em uma transação.
Exemplos
1. Truncamento básico
Esse exemplo remove todas as entradas da tabela `employees`, deixando-a vazia.
2. Truncar com verificações de chave estrangeira desativadas
Aqui, as verificações de chave estrangeira são temporariamente desativadas para truncar a tabela `orders`, que pode ter dependências.
3. Truncar e redefinir o acréscimo automático
O truncamento da tabela `logs` não apenas exclui todas as linhas, mas também redefine os contadores de incremento automático para seus valores iniciais.
Dicas e práticas recomendadas