清空单表可以truncate
清空某个库下的所有表时,可以考虑导出这张表,以导出表结构的方式,把该库下所有的表结构导出来,再删库,导回去就好了
mysqldump
-d
参数是只导结构,不导数据的
1、如果该表数据较少,可以执行sql语句:delete
from
tablename;
2、如果该表数据较大,那么执行delete语句时间可能过长;
这时候可以先执行:show
create
table
tablename;
保存该表的建表语句。
然后直接drop
table
tablename;
把表删除后在重新建表,用show语句的结果直接执行一下就行了。
清空某个mysql表中所有内容
delete from 表名;
truncate table 表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。