DB2系统内置的视图 SYSCAT.TABLES
其中常用的字段说明
字段名 | 说明 |
---|---|
STATUS | 状态,其值N = Normal,C = Set integrity pending,X = Inoperative |
COLCOUNT | 列数(包含继承列) |
CARD | 表中总行数、记录数,是个大概值,启用压缩的表这个字段的值就不准 |
NPAGES | 活动的页数量,当前表有效数据占用的页数 |
FPAGES | 分配给当前表的页数 |
例如查看表数据大小(G): NPAGES*数据页大小/(1024*1024*1024)
1、DB2查看用户有哪些数据表
在DB2中,所有表、视图数据都存放在字典表syscat.tables
中,其中字段TYPE表示对象类型(V表示视图,T表示数据表), 查询用户有哪些表,可执行sql:select * from syscat.tables where OWNER='USER_NAME' and TYPE = 'T';
2、DB2查看用户有哪些视图
查询用户有哪些视图,可执行sql:select * from syscat.tables where OWNER='USER_NAME' and TYPE = 'V';
3、DB2查询视图的创建sql
查询视图的创建sql,可执行:select VIEWNAME,TEXT from syscat.VIEWS where VIEWNAME='视图名称';
4、DB2查询表的列信息
例如查询TABLE_A表的列信息,可执行sql:select * from SYSIBM.SYSCOLUMNS where TBNAME='TABLE_A';
5、DB2查看表索引信息
例如查询TABLE_A表的索引信息,可执行sql:select * from SYSCAT.INDEXES where TABNAME='TABLE_A';
6、DB2查询表的主外键信息
- DB2查询表的约束信息:
select * from SYSCAT.TABCONST where TYPE in ('P','F') and TABNAME='TABLE_A';
其中:
字段名称 | 字段说明 |
---|---|
CONSTNAME | 约束名称 |
TABNAME | 表名称 |
TYPE | 约束类型(P表示主键,F表示外键) |
ENFORCED | 当前约束是否处于启用状态 |
-
DB2查看约束信息关联的字段:
select * from SYSCAT.KEYCOLUSE where CONSTNAME = '约束名';
-
若要查询外键关联表信息:
select * from syscat.references where CONSTNAME = '外键名' and TABNAME='表名';
其中:
字段名称 | 字段说明 |
---|---|
CONSTNAME | 约束名称 |
TABNAME | 表名称 |
FK_COLNAMES | 外键字段 |
REFTABNAME | 引用表名称 |
PK_COLNAMES | 引用表字段名称 |