前言

在现实中经常碰到数据库版本改动过大,然后需要重新导一遍数据库和数据库中的数据情况。当然你可以直接把原来的数据库直接删除,重新创建一个新的,再导入数据。或者在导出表结构和数据的时候,同时插入 drop 语句。但如今只讨论不想删除原来数据库但是想要删除其中的所有的表的情况

解决方案

网上找了一个 sql,通过查询 information_schma 表,获取对应数据库的表名信息,然后用 concat() 拼接 drop 语句。最后将其查询结果复制出来,再执行一下就删掉了。

以下是查询 sql:

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') as sentence
FROM information_schema.tables
WHERE table_schema = 'your_database_name';