数据库中有时需要删除所有的表或者表中所有内容,下面介绍几种常见的操作。
一、删除所有表
- 使用 Navicat 工具直接在界面中删除
- 逐个删除——直接使用删除表的SQL语句
DROP TABLE IF EXISTS table_name;
- 批量处理——自动生成删表的SQL语句再执行
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'db_test';
db_test 即需要删除所有表的数据库名,执行这条语句后就这样可以生成一个批量处理的sql语句,再运行一下得到的语句就可以了。
DROP TABLE IF EXISTS table_name1;
DROP TABLE IF EXISTS table_name2;
二、删除数据库表的所有数据
-
使用 delete from table_name,会生成日志,序号 id 会延续之前的编号继续编号。
-
使用 truncate table table_name ,无日志生成,序号 id 重新开始从1编号。
参考文章:【1】mysql 如何删除数据库中所有的表 - James老赵 - 博客园
【2】MySQL从数据库中删除表中所有数据 - weixin_38927240的博客 - CSDN博客