1.查询数据库(对应MySQL中的show databases)
- 查看系统数据库目录 db2 list database directory
- 查看本地数据库目录 db2 list database directory on <盘符>
2.查询表(对应MySQL中的show tables)
db2 list tables for schema dbi show detail
结果:
Table/View | Schema | Type | Creation time |
---|---|---|---|
AINFO | DI | T | 2017-04-17-10.14.56.050680 |
3.查询表结构(对应MySQL中的show create table xx\G)
describe select * from 模式名.表名
或
describe table 模式名.表名
DB2INST1>DBMDB:describe select * from dbi.dbinfo
Column Information
Number of columns: 30
SQL type | Type length | Column name | Name length |
---|
4.db2当前连接数
db2 list application show detail查看连接
db2 force application(id1, id2)断开连接
5.查看当前模式
DB2INST1>DBMDB:values current schema
1
-----------------------------------------------------------
DB2INST1
1 record(s) selected.
select current schema from sysibm.sysdummy1
select current schema from sysibm.dual
select current sqlid from sysibm.sysdummy1
select current sqlid from sysibm.dual
values current schema
values current sqlid
注:dual是一个从sysdummy1中创建而来的view
切换模式:
set current schema toms
DB2中类似于统计信息的地方就是syscat。
编写针对 DB2 的脚本,我们需要首先了解 DB2 为我们提供了哪些命令和信息。DB2 为我们提供了大量的命令例如连接数据库,执行一个 SQL 文件,获得表结构的信息等等。我们会在下面解释具体的脚本的同时对一些简单的 DB2 命令进行解释说明。同时,DB2 把数据库对象的很多信息都存储到了系统表中。熟悉这些系统表就能够通过 SQL 语句获得我们需要的信息。下面我们先来学习一下 DB2 系统表。
在 DB2 数据库被创建的时候,DB2 会创建一些系统表。这些系统表中记录了所有数据库对象的信息,表或视图的列的数据类型,约束的定义,对象的权限和对象之间的依赖关系等。这些系统表的模式为 SYSIBM,其表名以 SYS 作为前缀。例如: SYSTABLES、SYSVIEWS 等等。DB2 为这些系统表建立了相对应的只读视图。这些视图的模式是 SYSCAT,它们的内容是其相对应的系统表的全部或者部分内容。这些视图的名字没有 SYS 的前缀。例如:SYSCAT.TABLES 是 SYSIBM.SYSTABLES 的视图。
我们可以通过 LIST TABLES FOR SYSTEM 或 LIST TABLES FOR SCHEMA schemaname 命令查看所有的系统表和相关的视图信息。
– 后续逐步完善