首先假设已安装好DB2 V9数据库管理系统.接下来看一看如何使用DB2.
开始菜单-->运行-->db2cw --进入非交互模式
运行-->db2cmd --同上
在非交互模式输入db2进入交互模式
在交互模式输入quit进入非交互模式
接下来介绍一些常用的命令,这里以在交互模式下为例(非交互模式下只需在命令前加个'db2 '即可, 但带'!'需先把'!'去掉):
!db2ilist --列出所有的实例
!db2icrt 实例名 --如:!db2icrt SY,这样会在D:\Program Files\IBM\SQLLIB目录下会多出名为"SY"的目录
!db2idrop 实例名 --同样若执行!db2idrop SY,则会删除上述目录
get instance --显示当前的实例,即当前的数据库管理器
get dbm cfg --获取实例的配置参数
db2stop --停止默认的实例,相应的服务也会被停止. = start database manager
db2start --启动默认的实例,相应的服务也会被启动 = stop database manager
注意:默认的实例在系统的环境变量中定义,如:DB2INSTANCE=DB2
!net stop 实例名 --同db2stop,不过可以指定实例名
!net start 实例名 --同db2start,不过可以指定实例名
attach to 实例名 --连接一个实例
attach --显示已连接的实例
detach --断开一个实例
create database 数据库名 --创建一个数据库
drop database 数据库名 --删除一个数据库
list database directory --列出所有数据库
list database directory on 目录名 --列出位于指定目录上的数据库
connect --显示当前已连接的数据库
connect to 数据库名 --连接到指定数据库
list tables --显示所有的表和视图
导入SQL脚本:在非交互模式下,如:
db2 -tvf D:DATAtest1.sql
db2 -tvf D:DATAtest2.sql
db2 commit work
其中特别注意,第三行中的参数-tvf,解释如下,
-f 读取输入文件
-t 设置语句终止字符
-v 回送当前命令
如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以“;”结尾。
查看表结构:交互模式下describe table 表名
SQL相关:
count(distinct 列名)
decimal(列名,总位数,小数位数) --格式化数据
union all --相当于并运算
union --基本同上,但是去掉重复记录并按第一列作升序排序
except all --相当于减运算
except
intersect all --相当于交运算
intersect
select * from 表名 join 表名 on 条件 --自然连接
select * from 表名 left {outer} join 表名 on 条件
select * from 表名 right {outer} join 表名 on 条件
select * from 表名 full {outer} join 表名 on 条件
最后再说明一下quit, terminate, connect reset的区别:
db2bp.exe为一后台进程,在Windows任务管理器中可查看到