仅在 mysql “show tables” 中显示具有特定模式的表
Posted
技术标签:
【中文标题】仅在 mysql “show tables” 中显示具有特定模式的表【英文标题】:Only show tables with certain patterns in mysql "show tables" 【发布时间】:2011-03-25 08:54:30 【问题描述】:一个数据库中有太多的表。我怎样才能只显示具有某些模式的表格?或者有没有办法可以在 shell 命令中像“| more”一样进行分页?
【问题讨论】:
不是mysql,而是oracle,你可以“select * from cat where table_name like '%xxxx'”。 mysql必须存在相同的功能 【参考方案1】:您不必使用show tables
,也可以使用任何过滤器查询information_schema.TABLES
。
【讨论】:
你能举个例子或链接吗? information_schema.TABLES 位于何处? Information_schema 是一个 MySQL 系统数据库。详情可以查看dev.mysql.com/doc/refman/5.0/en/information-schema.html SELECT * from information_schema.TABLES WHERE TABLE_NAME LIKE 'oc_%';【参考方案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*
【讨论】:
以上是关于仅在 mysql “show tables” 中显示具有特定模式的表的主要内容,如果未能解决你的问题,请参考以下文章
oracle中与mysql中的命令 show databases, show tables, desc table类似的命令集
mysql5.5基础 show tables 查看指定数据库中的所有表