DB2数据库系统表的使用

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='视图名称';
DB2数据库系统表的使用_第1张图片
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';
    DB2数据库系统表的使用_第2张图片
    其中:
字段名称 字段说明
CONSTNAME 约束名称
TABNAME 表名称
TYPE 约束类型(P表示主键,F表示外键)
ENFORCED 当前约束是否处于启用状态
  • DB2查看约束信息关联的字段:select * from SYSCAT.KEYCOLUSE where CONSTNAME = '约束名';
    DB2数据库系统表的使用_第3张图片

  • 若要查询外键关联表信息:select * from syscat.references where CONSTNAME = '外键名' and TABNAME='表名';
    DB2数据库系统表的使用_第4张图片
    其中:

字段名称 字段说明
CONSTNAME 约束名称
TABNAME 表名称
FK_COLNAMES 外键字段
REFTABNAME 引用表名称
PK_COLNAMES 引用表字段名称

你可能感兴趣的:(DB2)