【问题标题】:Drop all databases that have under certain number of tables删除所有具有一定数量表的数据库
【发布时间】:2012-08-28 20:20:25
【问题描述】:

我有一个带有许多非活动数据库的 MYSQL 服务器。所有这些“死”的数据库每个都有不到 109 个表,所以我正在寻找一种方法来一次删除所有这些,但还没有找到一种方法来做到这一点。我认为可以删除所有这些的另一种方法是删除所有没有 X 表的数据库(其中 X 是添加到我们模型中的最新表)。

【问题讨论】:

  • 我敢问“手”是多少?
  • 我认为你最好用你喜欢的任何语言编写一个简单的脚本,并在询问数据库列表(显示数据库)后计算每个数据库的表数(显示表)!!!
  • 您熟悉哪些脚本语言? USE DATABASE xSHOW TABLES 的组合可能会帮助您入门。

标签: mysql database drop-database


【解决方案1】:

您可以使用以下查询来识别数据库:

select schema_name
from information_schema.tables
group by schema_name
having count(*) < 109

然后,您可以使用 schema_name 列表在 Excel 等工具中创建“删除数据库”命令。或者,放入光标以循环浏览它们。或者将它们读成您喜欢的脚本语言来进行放置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 2010-11-27
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多