欢迎大家来到测试人生,在你休息的时候你可以畅所欲言,空间里也许有些资料可以帮助到你,来吧,朋友,测试人生欢迎你!!!!

db2常用命令以及示例

上一篇 / 下一篇  2010-04-19 11:44:56 / 个人分类:db2

近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
/T,p(R7z[1i*U \0
Ti1xOXA_0注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化
]i/ohA&\^2x,aZ0
#mJB5g.x;TA0一、基础篇
8c W1Zfm$@0
l pE#l.e01、db2 connect to <数据库名>    --连接到本地数据库名51Testing软件测试网\7XL p;o,S6AL
51Testing软件测试网}-v'OB5R3L
       db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库
N0@&T3Q;x+aL)h0
x%l'nF R9^sr5t02、 db2 force application all      --强迫所有应用断开数据库连接51Testing软件测试网 i ZR-D/B;nN(F?
51Testing软件测试网G"t(EV^/h{%N!R
   
!G(C fL`*N_J03、db2 backup db db2name<数据库名称>  --备份整个数据库数据
:W;s6e q%`ayX051Testing软件测试网FpD1X/Y-c8N/iB
       db2 restore db <db2name>                     --还原数据库
L]"?-ng~JhTH0
\/g3vvH\04、db2 list application --查看所有连接(需要连接到具体数据库才能查看)51Testing软件测试网I;m _R/M9{ lx

,IoG2FD!q"f05、db2start    --启动数据库
8?:}jh,w0    
P,T5wk{9n0      db2stop --停止数据库
*TP}6\hRj4f051Testing软件测试网 GwYA_2Fd
6、create database <数据库名> using codeset utf-8 territory CN    --创建数据库使用utf-8编码
5T&_;n'w1pv#n&n0
&VH6k b2MK.y(`*\07、db2 catalog 命令
#Z7JsK~051Testing软件测试网/{b2H/{+kOd
51Testing软件测试网 IpRW0~u:X

db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号>  --把远程数据库映射到本地接点一般为50000

2Iox1F;y051Testing软件测试网b(D6]#SN8s

db2 catalog db <远程数据库名称> as <接点名称>  at node PUB11                       --远程数据库名称到本地接点51Testing软件测试网m/C H} x@ ?k.Y,O+V]V

x yR"Aj(FyR!\g}0db2 CONNECT TO <接点名称> user <用户名> using <密码>                               --连接本地接点访问远程数据库

n)Z |-s#Ev1S051Testing软件测试网1y)@@'pA2P7H4L
8、数据库导出
+o4Aw"a3J NG k0
4ig7W.G \ Z#e)Q0db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql        --导出数据库的表结构,其中用户空间一般为db2admin/db2inst151Testing软件测试网}_%l5F iV
51Testing软件测试网i,o @4A4Ds
db2look -d <数据库名> -u <用户> -t <表1> <表2>  -e -o <脚本名称>.sql   --导出数据库中表1和表2的表结构
2{ pJk+@9I.v U+k0
k[W)E)t)s-A2t7P0db2move <数据库名> export              --导出数据库数据
G&p\-Y&X051Testing软件测试网 v|.R AfrT:C+{
db2move <数据库名> export -tn <表1>,<表2>       --导出数据库中表和表数据51Testing软件测试网F!F$q P0][%Vq

X"l1` r^-f09、数据库导入
E!`EWRz051Testing软件测试网-N'NL EN.Y^X
db2 -tvf  <脚本名称>.sql       --把上述导出的表结构导入到数据库表结构
3\v9@vsW,CA:]n7Gm;}051Testing软件测试网}^b2\y8QBT|
db2move <数据库名> load -lo replace   --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉 
I-l@+[a w2@OLZ.@ g0
Zl6d&bt)QWj051Testing软件测试网`P_j@Y
在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方便!51Testing软件测试网Y${+LE7PDg.UD
51Testing软件测试网:?)`!s&wc.A
10、db2 connect reset 或 db2 terminate    --断开与数据库的连接
;?1t)MJ1w.d0
ep$Q.T?"}Z011、db2set db2codepage=1208        --修改页编码为120851Testing软件测试网wgo$[4S stT

^5~#q.}-g|2W012、db2 describe table <表名>       --查看表结构
Sd4H V7Y0
)U-i!~9[*u013、db2 list tables                            --查看数据库中所有表结构
J u^;nf5r.Jg051Testing软件测试网vjl%EA!y_
        list tables for system                  --列出所有系统表51Testing软件测试网%ii)Qg2])@(J{

6aT6`E9ty)s1B014、db2 list tablespaces                  --列出表空间51Testing软件测试网/d~9Kh+?,t

iOC:dY(O0th%X!v#A0二、高级篇
n2z!S8@$L_u051Testing软件测试网`2z3]%@X j[

F+o6q,`/rr5u L015、fetch first 10 rows  only   --列出表中前10条数据
`8il ^X4I8t051Testing软件测试网,cAa7O.NdL$eu
例如:select * from <表名> fetch first 10 rows only
H)S gb e:R@:q2pj%V3y'S0
[&}kOJ,C6Ug V,C;S016、coalesce(字段名,转换后的值)       --对是null的字段进行值转换51Testing软件测试网[ o(] _ m+h
51Testing软件测试网-[6h2y7x0}8L\)g
例如:select coalesce(id,1)  from <表名>    --对表中id如果为null转换成1
%q BoN,MoW\0
j(J1J6X5@Q nG G?017、dayofweek(日期)     --计算出日期中是周几(1是周日,2是周一.......7是周六)51Testing软件测试网 M]6u4s#Z]T
51Testing软件测试网(j"lp"blNx\
       dayofweek_iso    --计算出日期中是周几(1是周一.......7是周日)51Testing软件测试网q lo {J4C!{
      51Testing软件测试网{*LqT%g
 例如:dayofweek(date(2008-01-16))   --它会返回是4,代表星期三
Vk2tSCP}3D0           
-f1[ Hme,NQ0             dayofweek_iso(date(2008-01-16))   --它会返回是3,代表星期三
4O|F|*d0
*J#_hu:bN0Ou018、dayofyear(日期)   --一年中的第几天,范围在1-366范围之内
!y9Z,baVn0
2Po z)f Z0注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用
J)l3d'D Wu Ka0`z051Testing软件测试网X"m4o2N!n)QO
例如:日期是20080116必须要进行转换
qs c pt'L0
C^rj!hV0dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)51Testing软件测试网-[Tj,jd&y%r.`y
51Testing软件测试网FTnF]:]6p6~'x
这样格式正确的。
;~J1B Z!XQ F051Testing软件测试网D$|5u;K.I
19、concatt(参数1,连接值)       --把参数1加上连接值组成一个新值。51Testing软件测试网Ml}U9Y2E
51Testing软件测试网V0j8s&v"] ]8D4l7G n
  例如: concat('aa','b')    --返回是aab
/Z`7UR0?IE9?(W6Q051Testing软件测试网8l+E)kPvE!t

*L7Cpn2Qp;w`.C(U4^0把oracle表导入到db2数据库中,有些字段类型需要进行转换,具体看:oracle与db2数据类型转换
0dRqx?x'm051Testing软件测试网p5fJ%^4yl RJ'E

-[iW};Tz:oA4l0      以上是自己经常用到一些db2命令,db2命令很多,不常用的没有在上面记录,以后如使用新命令会继续进行更新!

TAG:

 

评分:0

我来说两句

Open Toolbar