DB2中如何查询一个数据库中有多少张表

DB2中如何查询一个数据库中有多少张表,第1张

数据库中还有大量系统表的,所以我觉得你查某些模式下的表比较好:

select count(*) from syscat.tables where tabschema='GP'

GP为某用户模式。

当然也可以用

select count(*) from syscat.tables where tabschema='GP'

查出所有表的数量。

再查出有多少张系统表,就是在SYSIBM、SYSTOOLS下的表数目。相减就可以了。

我用的是DB2 V9.7。

一、查询指定模式下的所有表

db2 LIST TABLES FOR SCHEMA 模式名

二、查询当前模式下所有表及信息

db2 select tabname from syscat.tables where tabschema = CURRENT SCHEMA

三、查询当前模式下所有的表

db2 LIST TABLES FOR ALL

四、查询指定表名的表

db2 select * from syscat.tables where TABNAME = '表名'(表名必须大写,不加模式,原因是TABNAME是syscat.tables中的一个字段,TABSCHEMA模式是另一个字段,两者唯一确定一张表)

希望这些可以给你帮助

使用DB2查询创建表的实现方法如下:

db2

=>create

table

t1

(

id

integer,name

varchar(12),address

varchar(50))

db2

=>insert

into

t1

values(1,'wjz','sdfsfds'),(2,'lw','v4')

db2

=>

select

*

from

t1

ID

NAME

ADDRESS

-----------

------------

--------------------------------------------------

1

wjz

sdfsfds

2

lw

v4

2

条记录已选择。

db2

=>

create

table

t3

as

(select

id,name

from

t1)

data

initially

deferred

refresh

deferred

db2

=>

refresh

table

t3

DB20000I

SQL命令成功完成。

db2

=>

select

*

from

t3

ID

NAME

-----------

------------

1

wjz

2

lw

2

条记录已选择。

db2

=>

insert

into

t1

values(3,'wxb','csk')

DB20000I

SQL命令成功完成。

db2

=>

refresh

table

t3

DB20000I

SQL命令成功完成。

db2

=>

select

*

from

t3

ID

NAME

-----------

------------

1

wjz

2

lw

3

wxb

3

条记录已选择。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6677184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存