一、系统表概述
在创建db2数据库的时候,会创建一些系统表,这些表记录了所有数据库的对象(表、视图等),它们都在模式sysibm下面,并且均以sys开头,如systables、sysviews、sysindexes等,同时也为这些表建立了相应的视图,这些视图在模式syscat下面。
官方说法如下,
sysibm 系统数据字典表
syscat 系统视图
简单讲:系统相关数据都放在sysibm表里面,syscat是基于sysibm的一组视图,一般来讲建议访问syscat看相关系统数据。
系统数据是相对于你的应用数据而言的,比如表的定义之类的都在里面,但是你的业务数据都在你自己生成的表里面,当然你也不会用这些个系统schema。
下面通过syscat模式下的视图详细介绍系统对象信息:
视图1 SYSCAT.TABLES
二、db2 查询表、模式、用户和权限
表: select * from syscat.systables where Type = ‘T’
模式: select * from syscat.schema || SELECT * FROM SYSIBM.SYSSCHEMATA
用户: select * from syscat.dbauth ||
权限: select * from syscat.tabauth
三、db2统计表的数量及每个表的记录数
select tabname,card from syscat.tables where tabschema = ‘schema’
tabname 表名
card 总行数