mysql如何清空表

Posted

tags:

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

参考技术A

mysql有两种方式可以清空表。分别为:delete from 表名和truncate table 表名。

    delete from 表名,删除表数据,全部删除则是可以清空表,相当于一条条删除,需要注意的是,如果有字段是自增的(一般为id),这样删除后,id 值还是存在的。举例来说,就是加入你在删除之前最大的id为100,你用这种方式清空表后 ,新插入一条数据其id为101,而不是1。

2.truncate table 表名,直接清空表,相当于重建表,保持了原表的结构,id也会清空。相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。

mysql 数据被清空了怎么恢复

参考技术A 以下情况可以恢复数据:

1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的

2 在进行删除操作之前有备份,比如mysqldump,物理备份数据文件之类的操作,那么可以恢复到删除前的数据

3 如果你的删除操作是直接对data下的文件进行删除,注意,不是粉碎文件操作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;

除以上情况,其他真的是没法恢复了,不过貌似很多公司号称能够恢复,要收费,具体他们怎么恢复我就不晓得了。本回答被提问者采纳
参考技术B 找备份,没有就没办法了。

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

mysql 怎样清空一个数据库中的所有表

mysql清空表数据后如何让自增ID仍从1开始

MySQL-清空表

MYSQL:如何清空表中的数据 truncate delete

mysql 数据被清空了怎么恢复

怎么循环创建mysql表分区和清空表分区