【问题标题】:How do I search a database for a table with a certain word如何在数据库中搜索具有特定单词的表
【发布时间】:2017-04-23 12:37:07
【问题描述】:

我有一个包含数百个表的数据库,我想搜索所有表以找到包含单词 Job 的表。

类似

Select all tables where name = 'JOB';

【问题讨论】:

  • 你的数据库是Oracle还是mySQL?解决方案/答案不会相同,因为它们没有相同的“元数据”对象。

标签: mysql oracle select


【解决方案1】:

以下查询的结果是'JOB'是那些名称的一部分的所有表

 SELECT o.object_Name, OBJECT_TYPE
      FROM user_objects o
     WHERE o.OBJECT_TYPE = 'TABLE'
       AND o.OBJECT_NAME like '%JOB%'

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但包含解释确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性的 cmets 挤满你的代码,这会降低代码和解释的可读性!
【解决方案2】:

对于 MYSQL,可以使用 information_schema.TABLES 喜欢, select * from information_schema.TABLES WHERE TABLE_SCHEMA LIKE 'YOUR_DB_NAME' AND TABLE_NAME LIKE '%SEARCHWORD%'

【讨论】:

    【解决方案3】:

    如果您有 dba 访问权限,则可以这样做

    选择 * FROM all_tables WHERE upper(table_name) like '℅JOB℅'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多