ZhaoKai 's 分享

  • 文章

  • 搜索
PostgreSQL Homebrew brew Mac VisualGC jvisualvm 监控 远程 jvm VMware iView Vue Spring源码 Spring Gradle

postgresql如何快速找到某个表中有某个字段呢?

发表于 2020-08-29 | 分类于 postgresql | 0 | 阅读次数 588

先上SQL吧!

WITH tables as (
    SELECT tablename
    FROM pg_tables a,
         pg_class b
    WHERE a.tablename = b.relname
      AND a.tablename NOT LIKE 'pg%'
      AND a.tablename NOT LIKE 'sql_%'
)

SELECT DISTINCT a.attnum,
       tt.tablename,
       a.attname,
       concat_ws('', t.typname, SUBSTRING(format_type(a.atttypid, a.atttypmod) FROM '\(.*\)')) AS type,
       d.description
FROM pg_class c,
     pg_attribute a,
     pg_type t,
     pg_description d,
     tables tt
WHERE
  a.attname LIKE '%some_str%'
  AND a.attnum > 0
  AND a.attrelid = c.oid
  AND a.atttypid = t.oid
  AND d.objoid = a.attrelid
  AND d.objsubid = a.attnum
AND c.relname = tt.tablename
ORDER BY tablename

上面的SQL可以自己运行看看效果!

  • 其中with一个临时表tables中,tablename就是表名称,c.relname也是表名称
  • 下面a.attname是表的字段名称,就像写SQL一样的。
  • 本文作者: zhaokai
  • 本文链接: http://blog.anyexception.com/archives/postgresql如何快速找到某个表中有某个字段呢
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# PostgreSQL # Homebrew # brew # Mac # VisualGC # jvisualvm # 监控 # 远程 # jvm # VMware # iView # Vue # Spring源码 # Spring # Gradle
如何更快速的在MacOS上安装HomeBrew呢
  • 文章目录
  • 站点概览
zhaokai

zhaokai

努力的学习...

8 日志
8 分类
15 标签
RSS
E-mail
Creative Commons
© 2022 zhaokai
由 Halo 强力驱动
|
主题 - NexT.Gemini v5.1.4