是否可以在数据库中查询表名?

时间:2017-08-17 13:58:22

标签: mysql

我刚刚开始研究一个包含数百个表的大型项目。我想查看与DNS相关的所有表格。我无法记住我与之合作的所有桌面名称,但我知道他们有" dns"在名称中。

是否可以查询数据库中的表列表并仅返回名称?它就像show tables;,但按表名过滤。

相当于SHOW TABLES FROM <database> WHERE table_name LIKE '%dns%';

版本信息: MySQL Ver 14.14 Distrib 5.7.18,适用于Linux(x86_64),使用EditLine包装

3 个答案:

答案 0 :(得分:1)

您可以使用information_schema数据库;

SELECT * FROM information_schema.tables WHERE table_schema = <database> AND table_name LIKE '%dns%'

答案 1 :(得分:0)

是的,您可以使用此命令过滤表格

INFORMATION_SCHEMA.TABLES

参考: https://dev.mysql.com/doc/refman/5.7/en/tables-table.html

答案 2 :(得分:0)

是的,有可能。

show tables like 'pattern';

其中pattern是使用通配符的字符串&#34;%&#34;,&#34; _&#34;

  • %匹配任意数量的字符。
  • _只匹配一个字符。

示例:显示类似&x; xxxxx%&#39;;

的表格

参见: https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html