Mysql数据库清空表中数据删除表

Posted 普通网友

tags:

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

一、mysql清空表数据命令:truncate

truncate table 表名;

说明:

  • truncate的效率高于delete。
  • truncate 清除数据后不记录日志,不可以恢复数据,相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
  • truncate删除数据后是不可以进行rollback操作,语句不能与where一起使用。
  • truncate 不写服务器 log,速度快。

二、MySQL清空数据表内容:delete

delete from 表名 where 条件;
delete from 表名;

说明:

  • delete清除数据后记录日志,可以恢复数据,相当于将表中所有记录一条一条删除。
  • delete可以删除一行,也可以删除多行。
  • delete 删除以后,identity (标识列、自增字段)依旧是接着被删除的最近的那一条记录ID加1后进行记录。如果只需删除表中的部分记录,只能使用 DELETE语句配合 where条件

三、MySQL删除表命令:drop

drop table 表名;

说明:

  • drop不光清除表数据还要删除表结构,释放空间。
  • 删除之后,依赖于该表的存储过程/函数将保留,但是变为invalid状态。
  • drop删除表后是不可以进行rollback操作。

总结:

  1. 当你仍要保留该表,但要删除所有数据表记录时, 用 truncate。
  2. 当你要删除部分记录或者有可能会后悔的话, 用 delete。
  3. 当你不再需要该表时, 用 drop。

MySQL-清空表

参考技术A 1.快速清空表中的数据(20.05.25)

区别:
a.不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
b.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
c.delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。

以上是关于Mysql数据库清空表中数据删除表的主要内容,如果未能解决你的问题,请参考以下文章

Mysql数据库清空表中数据删除表

Mysql数据库清空表中数据删除表

Mysql数据库清空表中数据删除表

Mysql数据库清空表中数据删除表

mysql如何清空表

Mysql清空表(truncate)与删除表中数据(delete)的区别