A diferença entre excluir da tabela, truncar tabela e descartar tabela no Mysql
A diferença entre DELETE FROM e TRUNCATE TABLE
Diferença 1: O formato da instrução é diferente
DELETE FROM: O formato da instrução é o seguinte: DELETE FROM nome da tabela [WHER condição];
TRUNCATE TABLE: O formato da instrução é o seguinte: TRUNCATE TABLE nome da tabela;
Diferença 2: Excluir dados da tabela é diferente
DELETE FROM: Você pode excluir todos os dados da tabela ou excluir as linhas de registro com condições especificadas
TRUNCATE FROM: Somente todos os dados da tabela podem ser excluídos e a linha especificada não pode ser excluída
Diferença 3: Liberar espaço é diferente
DELETE FROM: Após a exclusão dos dados, o espaço de memória ocupado pela tabela não será liberado, podendo ser desfeito após a exclusão
TRUNCATE TABLE: Após a exclusão dos dados, o espaço de memória ocupado pela tabela será liberado, não sendo possível desfazer a exclusão
Diferença 4: Diferentes velocidades de execução
EXCLUIR DE: execução lenta
TRUNCATE TABLE: execução rápida
O mesmo ponto: DELETE e TRUNCATE apenas excluirão os dados da tabela, não a estrutura da tabela, e a tabela poderá ser usada após a exclusão
Resumir:
delete from table
Somente para registros na tabela e suportawhere
qualificação condicional. A exclusão não é realmente excluída, é apenas marcada como excluída e o registro pode ser restaurado revertendo. É justamente por isso quedelete
uma coluna autocrescida ainda ocupará esse número de série.truncate table
Para a tabela inteira, o espaço ocupado pela tabela é realmente liberado. Porém, antes disso, será criada uma tabela com a mesma estrutura para uso posterior, o que resultará na redefinição da coluna autocrescida, e o registro não poderá ser revertido.drop
A estrutura da tabela e os dados da tabela serão excluídos e a tabela não poderá ser usada (muito) após a exclusão! ! !