mysql - 删除今天创建的表

标签 mysql information-schema

我需要删除今天创建的所有表。我不知道这些表是什么,因为该过程是由框架自动生成的。

这可以通过查询 information_schema 实现吗?任何想法?

最佳答案

您可以通过使用获取今天创建的所有表

SELECT TABLE_NAME, TABLE_SCHEMA AS db FROM information_schema.`TABLES` t 
WHERE DATE(t.CREATE_TIME) = CURDATE() 
AND t.TABLE_SCHEMA NOT IN("information_schema", "mysql", "performance_schema")

NOT IN("information_schema", "mysql", "performance_schema") 排除了由 msql 本身创建的(临时)系统表。如果您不需要删除不同数据库之间的表,最好将 TABLE_SCHEMA 限制为您正在使用的任何数据库名称。

现在如何删除它们取决于您;)。

关于mysql - 删除今天创建的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390035/

相关文章:

mysql - information_schema 在过程中未知

mysql - 查询所有数据库的num_rows、size、num_tables、default_charset、default_collat​​ion

php - 无法从 sql 数据库中检索并设置值

MySQL:填充随机迭代位置值

php - 如何将查询中插入的数据作为成功消息插入数据库?

mysql - 类型转换、转换还是定制?

postgresql - 如何在 Postgres 中以只读用户访问 information_schema 外键约束?

tsql - 删除所有主键

php - 如果两个表中都存在相同的 ID,如何隐藏选择下拉列表中的选项

sql-server-2005 - SQL Server : How to tell if a database is a system database?