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

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)uZ rb?051Testing软件测试网k q"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/gy s_ K0       db2 restore db <db2name>                     --还原数据库51Testing软件测试网8f4C+R1B9lgS @Kl

"Ax.l|f\5F1KvBo04、db2 list application --查看所有连接(需要连接到具体数据库才能查看)
P(y'v*w)V+p K$m0
r7H(^G*zp05、db2start    --启动数据库
^.\Ut2h |4h&z0    51Testing软件测试网4[2}|!qu@k
      db2stop --停止数据库
_2xS\e A}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#i0

6M,H0S}~ `:O d0db2 catalog db <远程数据库名称> as <接点名称>  at node PUB11                       --远程数据库名称到本地接点51Testing软件测试网\%B8]} }zV0sv

b;RrJ4r;u&a9{;zMV0db2 CONNECT TO <接点名称> user <用户名> using <密码>                               --连接本地接点访问远程数据库51Testing软件测试网;r9[ a GA%[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软件测试网kHu9b6n^

W5OYs]C#H0db2move <数据库名> export              --导出数据库数据51Testing软件测试网6Z:@LM\zk
51Testing软件测试网L$A(Og-vkjA L
db2move <数据库名> export -tn <表1>,<表2>       --导出数据库中表和表数据
%u Rmv0Ol0
_.lnKO JK09、数据库导入
+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
O I@q+V;pO012、db2 describe table <表名>       --查看表结构
G)D:u#d+e#X[K;{0
7I2~ O,l m9Y ul013、db2 list tables                            --查看数据库中所有表结构
*E4T{U1^(L,b M"` E$}2g0
Z)\ G.C0V0        list tables for system                  --列出所有系统表51Testing软件测试网rd4XhYE KE5gu-Fl-wG

n:a c'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 O FE0
p*g(Mqg/x\'S*~5l cE016、coalesce(字段名,转换后的值)       --对是null的字段进行值转换51Testing软件测试网H$yD5MX1N

5w%i1_;r&a_0例如:select coalesce(id,1)  from <表名>    --对表中id如果为null转换成1
k!X ?q _``hP n051Testing软件测试网L}dQBSk~
17、dayofweek(日期)     --计算出日期中是周几(1是周日,2是周一.......7是周六)
D!I9@5Pl&{4u8r$G0
+B3j+z2\iZf0       dayofweek_iso    --计算出日期中是周几(1是周一.......7是周日)
F0S#fj8Jf'hZ:GB} j0      
"X%CD8rl4i3|)^0 例如:dayofweek(date(2008-01-16))   --它会返回是4,代表星期三51Testing软件测试网"l['u9J&V9C~O
           
${#|-t@6t"Lh1j0             dayofweek_iso(date(2008-01-16))   --它会返回是3,代表星期三51Testing软件测试网@ YW y2V0Dr-e
51Testing软件测试网bEq$a6|h'['G
18、dayofyear(日期)   --一年中的第几天,范围在1-366范围之内51Testing软件测试网 Zjiq-O[!h&Ya.J6k

0OHY)y` g*to0注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用
6N/_{^ c6`N7]FF051Testing软件测试网Y:if1V9Q6z#U$e4l m
例如:日期是20080116必须要进行转换51Testing软件测试网(AE1E!|l
51Testing软件测试网e.Sb:M(o`
dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)
4s/?$GG6i$_4{+@3f0
J4pN zOZ0这样格式正确的。
&Vu!IMF2b I.~051Testing软件测试网!O[{_6p
19、concatt(参数1,连接值)       --把参数1加上连接值组成一个新值。
0Evv(Gk6tg.Tc"n{0
E:Q!EJ/_3F@0  例如: concat('aa','b')    --返回是aab51Testing软件测试网t:{/e Dt/z*R4\ u,V
51Testing软件测试网]E8hw&Q2Qo?

PX+M8V{0把oracle表导入到db2数据库中,有些字段类型需要进行转换,具体看:oracle与db2数据类型转换
WG+Yq.sd051Testing软件测试网;lDRA/UR
51Testing软件测试网[XyR/p0V#H.x3K zH?
      以上是自己经常用到一些db2命令,db2命令很多,不常用的没有在上面记录,以后如使用新命令会继续进行更新!

TAG:

 

评分:0

我来说两句

Open Toolbar