清空数据库主要有两种方式
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除 *** 作作为事务记录在日志中保存以便进行进行回滚 *** 作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除 *** 作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
(2)表和索引所占空间。
当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,
DELETE *** 作不会减少表或索引所占用的空间。
drop语句将表所占用的空间全释放掉。
(3)一般而言,drop > truncate > delete
清空单表可以truncate清空某个库下的所有表时,可以考虑导出这张表,以导出表结构的方式,把该库下所有的表结构导出来,再删库,导回去就好了
mysqldump
-d
参数是只导结构,不导数据的
MYSQL数据库多余的数据表清理方法:drop table命令用于删除数据表。
drop table命令格式:drop table <表名>
例如,删除表名为 MyClass 的表:
mysql>drop table MyClass
DROP TABLE用于删除一个或多个表。必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)