【问题标题】:Only show tables with certain patterns in mysql "show tables"仅在 mysql “show tables” 中显示具有特定模式的表
【发布时间】:2011-03-25 08:54:30
【问题描述】:

一个数据库中有太多的表。我怎样才能只显示具有某些模式的表格?或者有没有办法可以在 shell 命令中像“| more”一样进行分页?

【问题讨论】:

  • 不是mysql,而是oracle,你可以“select * from cat where table_name like '%xxxx'”。 mysql必须存在相同的功能

标签: mysql pagination show


【解决方案1】:

您不必使用show tables,也可以使用任何过滤器查询information_schema.TABLES

【讨论】:

【解决方案2】:
show tables like 'pattern';

【讨论】:

  • 我还发现show tables like '%pattern%'; 也可以:)
  • @michaelmcgurk,% 是任何 like 语句中的通配符。因此 a'r 是正确的...模式可以是您要搜索的任何内容,包括通配符。
  • 如果我想 SHOW TABLES LIKE 'xxx_%' 但我不希望下划线字符作为通配符...怎么办? SHOW TABLES LIKE 'xx#_%' ESCAPE '#' 对我不起作用...
【解决方案3】:

这可以用来一瞥所有的表格

select * from tab;

并识别列名。此后,使用

select * from tab where tname like '%D_';

【讨论】:

  • 这是不正确的。这将查询一个表,而不是显示具有表模式名称的表
【解决方案4】:
  • 使用显示类似“模式”的表格
  • pattern 是使用通配符“%”、“_”的字符串
  • % 匹配任意数量的字符,甚至是零个字符。
  • _ 只匹配一个字符。

例如:

  • show tables like 'test%' 将过滤诸如“test1,testF,test111,testFoo”之类的表

  • show tables like 'test_' 将过滤诸如“test1,testF”之类的表

【讨论】:

    【解决方案5】:

    在 Spark SQL 中,您需要使用星号,SHOW tables LIKE '*table_name*

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多