【问题标题】:Must be possible to filter table names in a single database?必须可以过滤单个数据库中的表名吗?
【发布时间】:2015-02-04 01:07:19
【问题描述】:

据我所知,导航器中的搜索过滤器只会搜索可用的数据库名称,而不是表名称。

如果您单击表名并开始输入,则似乎可以从表的第一个字母开始执行简单的搜索。

我正在寻找能够在选定数据库中搜索所有表名的方法。有时可能有很多表需要排序。这似乎是一个可能存在但我找不到的功能。

【问题讨论】:

    标签: mysql-workbench


    【解决方案1】:

    找到答案了……

    如果您输入例如*.test_table 或架构名称而不是星号,它将过滤它们。关键是必须在搜索查询中指定架构/数据库。星号符号也适用于表名。例如*.*test* 将过滤任何模式中的任何表,并在表名中的任何位置进行测试。

    【讨论】:

    • 这绝对是我见过的最难以发现的功能。即使对于习惯于编写 SQL 而不是单击 GUI 的人来说,也很难找到它。
    • 如果你想搜索特定的数据库你也可以使用YourDatabaseName.YourTableName:D
    【解决方案2】:

    你可以使用命令

    SHOW TABLES like '%%';
    

    要将其始终保存在您的工具中,您可以将其作为 sn-p 添加到右侧的 SQL 附加面板中。 然后,您可以随时将其带入编辑器并在 %% 之间键入搜索键,或者按原样执行它(它将获取数据库的所有表),然后使用“过滤行”输入进行过滤结果集。

    【讨论】:

    • 这将是一种方法,谢谢,但就在今天我找到了我正在寻找的答案。如果您输入例如“*.test_table”或架构名称而不是它将过滤它们的星号
    • 这实际上是一个不错的功能,感谢您提供的信息。我注意到它在所有开放模式中搜索表,这在某些情况下也很好
    • @groovenectar 请将您的评论作为单独的答案发布,因为它是对 OP 问题的实际答案并且效果很好。如果您对问题的回答被接受,它将更加完整
    • @Evgenius,这实际上是我最初的问题,但我已经继续并将其发布为答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2011-09-12
    • 2015-06-30
    相关资源
    最近更新 更多