db2常用命令以及示例
上一篇 / 下一篇 2010-04-19 11:44:56 / 个人分类:db2
近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
nEJY)|0
#|6t+]Q9m ^#|R'k([0注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化51Testing软件测试网x2}/e[6M(a9I'k&`a
'X|4}P#|t9U;I&Ge0一、基础篇51Testing软件测试网F*W#{plu6zk
51Testing软件测试网gB6A2g5c} l x#\
1、db2 connect to <数据库名> --连接到本地数据库名
"uY;`qg051Testing软件测试网!?+Xa&G^"KX'B?
db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库
P~P)uZrb?051Testing软件测试网kq"z5T2r"st8o
2、 db2 force application all --强迫所有应用断开数据库连接
#^6eZ)j0t051Testing软件测试网/p b4eD EK
51Testing软件测试网X\m O#p[%]
3、db2 backup db db2name<数据库名称> --备份整个数据库数据
8Y l:e[*k.qV9\0
M8G/gys_ K0 db2 restore db <db2name> --还原数据库51Testing软件测试网8f4C+R1B9lgS @Kl
"Ax.l|f\5F1KvBo04、db2 list application --查看所有连接(需要连接到具体数据库才能查看)
P(y'v*w)V+pK$m0
r7H(^G*zp05、db2start --启动数据库
^.\Ut2h |4h&z0 51Testing软件测试网4[2}|!qu@k
db2stop --停止数据库
_2xS\eA}wx0
H!{ D }.H06、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码51Testing软件测试网e;M1I$no"rz(j i
51Testing软件测试网[%S/Ox*hx;~D
7、db2 catalog 命令
{SIeV0
_Lr D_#P*J|^.]051Testing软件测试网 X-y h[ku V3[
n!T7`Wj5@Z08、数据库导出
CI-cx6l051Testing软件测试网;I"jF&~$_zZU[G?!HO
db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1
'~N@ PDL}"xE051Testing软件测试网]9XG+cS1|
db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构51Testing软件测试网kH u9b6n^
W5OYs]C#H0db2move <数据库名> export --导出数据库数据51Testing软件测试网6Z:@LM\zk
51Testing软件测试网L$A(Og-v kjA L
db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据
%uRmv0Ol0
_.lnKOJK09、数据库导入
+a,~:_&j$U/OuJ6GD d1|051Testing软件测试网bE um z%L[o
db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构
r9@`3PUe{U0
`?HU H/~ii0db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉 51Testing软件测试网(]6[q3Z:\n,Ku
-wO!~ y3qf'wL0
$^1PY%W,XG(Y0在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方便!51Testing软件测试网's0@"U-s P&td(H
51Testing软件测试网ts8UP4e{
10、db2 connect reset 或 db2 terminate --断开与数据库的连接51Testing软件测试网;P-M$gMzl9~v
6f[g5qC2Y#E011、db2set db2codepage=1208 --修改页编码为1208
|~'F0ks:L$@{H0
OI@q+V;pO012、db2 describe table <表名> --查看表结构
G)D:u#d+e#X[K;{0
7I2~ O,lm9Y ul013、db2 list tables --查看数据库中所有表结构
*E4T{U1^(L,bM"`E$}2g0
Z)\ G.C0V0 list tables for system --列出所有系统表51Testing软件测试网r d4XhYE KE5gu-F l-wG
n:ac'dC DX/w4d9?^014、db2 list tablespaces --列出表空间51Testing软件测试网7c4jS%oS
U"j*|3A_:v8t0二、高级篇
6r-YD:jC \+y051Testing软件测试网5L J#q8o6b`3\]}
S:?u:id!N:G3[+dR5`Q015、fetch first 10 rows only --列出表中前10条数据51Testing软件测试网 _BT}`!r7t
51Testing软件测试网x hu4F+PE*A!X?u
例如:select * from <表名> fetch first 10 rows only
@!](w)OK OFE0
p*g(Mqg/x\'S*~5lcE016、coalesce(字段名,转换后的值) --对是null的字段进行值转换51Testing软件测试网H$yD5MX1N
5w%i1_;r&a
nEJY)|0
#|6t+]Q9m ^#|R'k([0注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化51Testing软件测试网x2}/e[6M(a9I'k&`a
'X|4}P#|t9U;I&Ge0一、基础篇51Testing软件测试网F*W#{plu6zk
51Testing软件测试网gB6A2g5c} l x#\
1、db2 connect to <数据库名> --连接到本地数据库名
"uY;`qg051Testing软件测试网!?+Xa&G^"KX'B?
db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库
P~P)uZrb?051Testing软件测试网kq"z5T2r"st8o
2、 db2 force application all --强迫所有应用断开数据库连接
#^6eZ)j0t051Testing软件测试网/p b4eD EK
51Testing软件测试网X\m O#p[%]
3、db2 backup db db2name<数据库名称> --备份整个数据库数据
8Y l:e[*k.qV9\0
M8G/gys_ K0 db2 restore db <db2name> --还原数据库51Testing软件测试网8f4C+R1B9lgS @Kl
"Ax.l|f\5F1KvBo04、db2 list application --查看所有连接(需要连接到具体数据库才能查看)
P(y'v*w)V+pK$m0
r7H(^G*zp05、db2start --启动数据库
^.\Ut2h |4h&z0 51Testing软件测试网4[2}|!qu@k
db2stop --停止数据库
_2xS\eA}wx0
H!{ D }.H06、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码51Testing软件测试网e;M1I$no"rz(j i
51Testing软件测试网[%S/Ox*hx;~D
7、db2 catalog 命令
{SIeV0
_Lr D_#P*J|^.]051Testing软件测试网 X-y h[ku V3[
db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000
&Bf9Fa%v3F#i06M,H0S}~`:O d0db2 catalog db <远程数据库名称> as <接点名称> at node PUB11 --远程数据库名称到本地接点51Testing软件测试网\%B8]}}zV0sv
b;RrJ4r;u&a9{;zMV0db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库51Testing软件测试网;r9[ a G A%[E/a
n!T7`Wj5@Z08、数据库导出
CI-cx6l051Testing软件测试网;I"jF&~$_zZU[G?!HO
db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1
'~N@ PDL}"xE051Testing软件测试网]9XG+cS1|
db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构51Testing软件测试网kH u9b6n^
W5OYs]C#H0db2move <数据库名> export --导出数据库数据51Testing软件测试网6Z:@LM\zk
51Testing软件测试网L$A(Og-v kjA L
db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据
%uRmv0Ol0
_.lnKOJK09、数据库导入
+a,~:_&j$U/OuJ6GD d1|051Testing软件测试网bE um z%L[o
db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构
r9@`3PUe{U0
`?HU H/~ii0db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉 51Testing软件测试网(]6[q3Z:\n,Ku
-wO!~ y3qf'wL0
$^1PY%W,XG(Y0在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方便!51Testing软件测试网's0@"U-s P&td(H
51Testing软件测试网ts8UP4e{
10、db2 connect reset 或 db2 terminate --断开与数据库的连接51Testing软件测试网;P-M$gMzl9~v
6f[g5qC2Y#E011、db2set db2codepage=1208 --修改页编码为1208
|~'F0ks:L$@{H0
OI@q+V;pO012、db2 describe table <表名> --查看表结构
G)D:u#d+e#X[K;{0
7I2~ O,lm9Y ul013、db2 list tables --查看数据库中所有表结构
*E4T{U1^(L,bM"`E$}2g0
Z)\ G.C0V0 list tables for system --列出所有系统表51Testing软件测试网r d4XhYE KE5gu-F l-wG
n:ac'dC DX/w4d9?^014、db2 list tablespaces --列出表空间51Testing软件测试网7c4jS%oS
U"j*|3A_:v8t0二、高级篇
6r-YD:jC \+y051Testing软件测试网5L J#q8o6b`3\]}
S:?u:id!N:G3[+dR5`Q015、fetch first 10 rows only --列出表中前10条数据51Testing软件测试网 _BT}`!r7t
51Testing软件测试网x hu4F+PE*A!X?u
例如:select * from <表名> fetch first 10 rows only
@!](w)OK OFE0
p*g(Mqg/x\'S*~5lcE016、coalesce(字段名,转换后的值) --对是null的字段进行值转换51Testing软件测试网H$yD5MX1N
5w%i1_;r&a