MYSQL 清空表和截断表

Posted Bit5566

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL 清空表和截断表相关的知识,希望对你有一定的参考价值。

清空表:delete from users;

清空表只是清空表中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。

 

截断表:truncate table users;

 

截断表可以用于删除表中 的所有数据。截断表命令还会回收所有索引的分配页。截断表的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快。 delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)表则回收整个数据页,只记录很少的日志项。delete(删除)和truncate(截断)都会回收被数据占用的空间,以及相关的索引。只有表的 拥有者可以截断表。

另外,truncate表之后,如果有自动主键的话,会恢复成默认值。

以上是关于MYSQL 清空表和截断表的主要内容,如果未能解决你的问题,请参考以下文章

Navicat:截断表或者清空表后行数不为0

Navicat:截断表或者清空表后行数不为0

Cassandra“截断”不清空表

hibernate使用truncate清空表 截断表

android删除表和清空表

数据库怎么清空一个表中所有数据