Summary: neste tutorial, você aprenderá como usar o comando MySQL TRUNCATE TABLE
para apagar todos os dados em uma tabela.
Introdução ao comando MySQL TRUNCATE TABLE
O comando MySQL TRUNCATE TABLE
permite apagar todos os dados de uma tabela.
Logicamente, o comando TRUNCATE TABLE
é como um comando DELETE
sem uma cláusula WHERE
que apaga todas as linhas de uma tabela, ou uma sequência de comandos DROP TABLE
e CREATE TABLE
.
No entanto, o comando TRUNCATE TABLE
é mais eficiente do que o comando DELETE
porque ele cai e recria a tabela ao invés de excluir as linhas uma a uma.
Aqui está a sintaxe básica do comando TRUNCATE TABLE
:
Code language: SQL (Structured Query Language) (sql)
Nesta sintaxe, você especifica o nome da tabela que você quer remover todos os dados após as TRUNCATE TABLE
palavras-chave.
A palavra-chave TABLE
é opcional. Entretanto, é uma boa prática usar a palavra-chave TABLE
para distinguir entre a instrução TRUNCATE TABLE
e a função TRUNCATE()
.
Se houver alguma restrição FOREIGN KEY
de outras tabelas que fazem referência à tabela que você truncou, a instrução TRUNCATE TABLE
falhará.
Porque uma operação truncada causa um commit implícito, portanto, ela não pode ser rolada para trás.
A instrução TRUNCATE TABLE
repõe o valor na coluna AUTO_INCREMENT para seu valor inicial se a tabela tiver uma coluna AUTO_INCREMENT
.
A instrução TRUNCATE TABLE
não dispara DELETE
dispara associados à tabela que está sendo truncada.
Não como uma instrução DELETE
, o número de linhas afetadas pela instrução TRUNCATE TABLE
é 0, o que deve ser interpretado como nenhuma informação.
MySQL TRUNCATE TABLE exemplo
Vamos dar um exemplo de como usar a instrução TRUNCATE TABLE
.
Primeiro, crie uma nova tabela chamada books
para a demonstração:
Code language: SQL (Structured Query Language) (sql)
Próximo, insira dados dummy na tabela books
usando o seguinte procedimento de armazenamento:
Code language: SQL (Structured Query Language) (sql)
Então, carregue 10.000 linhas na tabela books
. Levará algum tempo.
Code language: SQL (Structured Query Language) (sql)
Depois disso, verifique os dados na tabela books
:
Code language: SQL (Structured Query Language) (sql)
Finalmente, use a instrução TRUNCATE TABLE
para apagar todas as linhas da instrução books
tabela:
Code language: SQL (Structured Query Language) (sql)
Nota que você pode comparar o desempenho entre a instrução TRUNCATE TABLE
e a instrução DELETE
.
Neste tutorial, você aprendeu como usar o comando MySQL TRUNCATE TABLE
para excluir todos os dados de uma tabela de forma eficiente, especialmente para uma tabela grande.
- Este tutorial foi útil?
- Sim Não