postgresql用sql语句查询表结构
用到的postgresql系统表
关于postgresql系统表,可以参考PostgreSQL 8.1 中文文档-系统表。
pg_class
记录了数据库中的表,索引,序列,视图(“关系”)。
其中比较重要字段有:
relname 表,索引,视图等的名字。
relnamespace 包含这个关系的名字空间(模式)的 OID,对应pg_namespace.oid
relkind r = 普通表,i = 索引,S = 序列,v = 视图, c = 复合类型,s = 特殊,t = TOAST表
pg_namespace
记录了数据库的名字空间(模式)
其中比较重要的字段有:
nspname 名字空间的名字
nspowner 名字空间的所有者
pg_attribute
记录了数据库关于表的字段的信息。
其中比较重要的字段有:
attrelid 此列/字段所属的表,对应于pg_class.oid
attname 字段名字
atttypid 这个字段的数据类型,对应于pg_type.oid
attlen 对于定长类型,typlen是该类型内部表现形式的字节数目。 对于变长类型,typlen 是负数。 -1 表示一种"变长"类型(有长度字属性的数据), -2 表示这是一个 NULL 结尾的 C 字串。是本字段类型 pg_type.typlen 的拷贝。
attnum 字段数目。普通字段是从 1 开始计数的。系统字段, 比如 oid, 有(任意)正数。
atttypmod atttypmod 元组在创建表的时候 提供的类型相关的数据(比如,一个 varchar 字段的最大长度)。 它传递给类型相关的输入和长度转换函数当做第三个参数。 其值对那些不需要 atttypmod 的类型而言通常为 -1。
attnotnull 这代表一个非空约束。我们可以改变这个字段以打开或者关闭这个约束。
attisdropped 这个字段已经被删除了,不再有效。
注意:
如果字段类型为变长类型(如varchar),那么在atttypmod中存储的长度比实际长度多4。可见参考文档1。
如果字段类型为numeric,那么可通过atttypmod获得长度、精度等信息,具体方式可见参考文档2。
pg_type
记录了数据库有关数据类型的信息。
其中比较重要的字段有:
typname 数据类型名字
typlen 对于定长类型,typlen是该类型内部表现形式的字节数目。 对于变长类型,typlen 是负数。 -1 表示一种"变长"类型(有长度字属性的数据), -2 表示这是一个 NULL 结尾的 C 字串。
pg_description
记录了数据库中对象(表、字段等)的注释。
其中比较重要的字段有:
objoid 这条描述所描述的对象的 OID。如果这条注释是一个表或表中字段的注释,那么,该值对应于pg_class.oid
objsubid 对于一个表字段的注释,它是字段号,对应于pg_attribute.attnum。对于其它对象类型,它是零。
description 作为对该对象的描述的任意文本
查询用户表
SELECT a.oid,a.relname AS name,b.description AS commentFROM pg_class aLEFT OUTER JOIN pg_description b ON b.objsubid=0 AND a.oid = b.objoidWHERE a.relnamespace = (SELECT oid FROM pg_namespace WHERE nspname='public') --用户表一般存储在public模式下AND a.relkind='r'ORDER BY a.relname
使用表名查询表字段的定义
a.attname AS field,t.typname AS type,a.attlen AS length,a.atttypmod AS lengthvar,a.attnotnull AS notnull,b.description AS commentFROM pg_class c,pg_attribute aLEFT OUTER JOIN pg_description b ON a.attrelid=b.objoid AND a.attnum = b.objsubid,pg_type tWHERE c.relname = 'zc_zclx'and a.attnum > 0and a.attrelid = c.oidand a.atttypid = t.oidORDER BY a.attnum
使用表oid查询表字段的定义
t.typname AS type,a.attlen AS length,a.atttypmod AS lengthvar,a.attnotnull AS notnull,b.description AS commentFROM pg_attribute a LEFT OUTER JOIN pg_description b ON a.attrelid=b.objoid AND a.attnum = b.objsubid,pg_type tWHERE a.attnum > 0and a.attrelid = 162903and a.atttypid = t.oidORDER BY a.attnum
postgresql用sql语句查询表结构相关推荐
- 根据之前发的那SQL语句查询表结构的语句做了个MSSQL实体类生成器!
昨晚花了一晚上做的,整天用.NET用网站,突然想用WINFORM做个小玩意的,竟然发现好多东西都不会了...怎么在WINFORM里面下拉控件没有DataBind方法滴....嘿嘿... 整个生成器其实 ...
- SQL语句查询表结构
代码如下: SELECT表名 = Case When A.colorder=1 Then D.name Else '' End,表说明 = Case When A.colorder=1 Then is ...
- mysql oradba,使用SQL语句查询表及表字段类型说明
今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. S ...
- 【学习笔记】一些postgreSQL常用sql语句
[学习笔记]一些postgreSQL常用sql语句 1.序列自增id 2.将从一个表中查出来的数据插入到另一个表中 3.sql更新替换字段中某个字 4.统计一个字段多个值的次数 5.统计某个字段重复项 ...
- html连接sql基本语句,PostgreSQL 常用SQL语句
PostgreSQL 简介[1] PostgreSQL 可以说是目前功能最强大.特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备.这个起源于加州大学伯克利分校的数据库, ...
- SQL语句查询表的最后一条数据
SQL语句 有时只需要取最后一条信息,避免信息过大. TOP方法1 SELECT TOP 1 * FROM table_name SELECT TOP 1 * FROM user order by i ...
- MySQL的SQL语句转PostgreSQL的SQL语句工具编写总结
1.起因在学习基于vue+springboot的前后端分离项目时,因项目需求变更,需要将mysql数据库全部迁移到postgersql数据库的需求,因而编写了一个基于jave的sql语句转换工具 2. ...
- SQL Server—查询表结构
在SQL Server中不同于在MySQL或者Oracle中使用desc来查询数据表的表结构,而是使用如下两条语句查询: 1.sp_help table_name 2.sp_columns table ...
- mysql中SQL语句查询表字段名、注释、字段类型
查询dababase当前库下所有表名及表注释 select column_name,column_comment,data_type from information_schema.columns w ...
最新文章
- android 中测量高度和宽度,android获得屏幕高度和宽度(display中getSize(Point)方法使用)...
- 大数据量表中,增加一个NOT NULL的新列
- xunsearch: 开启后台服务,索引……随笔记录
- 神策数据加入中国大数据产业生态联盟,神策营销云及融媒解决方案获联盟认证...
- 聊聊高并发(二十六)解析java.util.concurrent各个组件(八) 理解CountDownLatch闭锁
- Java类集-SortedSet接口
- 爬虫python入门_如何入门Python爬虫?爬虫原理及过程详解
- kafka入门综合概要介绍
- 大数据安全分析需要关注哪些问题
- How to research,22页PPT
- html php即时通讯_PHP在线客服即时通讯源码
- [实践篇]13.9 如何使用gcore(ramdump)排查内存黑洞?
- UE4 蓝图实现AI随机移动
- 华为一直响应服务器异常,服务器不断异常重启
- Redis学习(三) - Redis客户端对比及配置(SpringBoot)
- 设置计算机网络密码怎么设置路由器,tplink路由器电脑怎么设置密码?
- sql中如何按拼音笔画排序
- 软件一般是用什么语言开发的
- js点击获取—通过JS获取图片的相对坐标位置
- 2022高教杯思路合集!!全国大学生数学建模竞赛