近一年來在項目開發中使用到了IBM的DB2 9.1的數據庫產品,跟Oracle相比一些命令有很大的區別,而它最大的功能是支持
xml存儲、檢索機制,通過XPath進行解析操作,使開發人員免于對xml文件在應用進行解析處理,先對其常用命令進行一下匯
總,以免遺忘。
注意:在執行如下命令時,需要首先安裝db2客戶端并通過在運行中輸入db2cmd進行初始化
一、基礎篇
1、db2 connect to <數據庫名> --連接到
本地數據庫名
db2 connect to <數據庫名> user <用戶名> using <密碼> --連接到
遠端數據庫
2、 db2 force application all --強迫所有應用斷開數據庫連接
3、db2 backup db db2name<數據庫名稱> --備份整個數據庫數據
db2 restore db <db2name> --還原數據庫
4、db2 list application --查看所有連接(需要連接到具體數據庫才能查看)
5、db2start --啟動數據庫
db2stop --停止數據庫
6、create database <數據庫名> using codeset utf-8 territory CN --創建數據庫使用utf-8編碼
7、db2 catalog 命令
db2 catalog tcpip node <接點名稱> remote <遠程數據庫地址> server <端口號> --把遠程數據庫映射到本地接點一般為50000
db2 catalog db <遠程數據庫名稱> as <接點名稱> at node PUB11 --遠程數據庫名稱到本地接點
db2 CONNECT TO <接點名稱> user <用戶名> using <密碼> --連接本地接點訪問遠程數據庫
8、數據庫導出
db2look -d <數據庫名> -u <用戶> -e -o <腳本名稱>.sql --導出數據庫的表結構,其中用戶空間一般為db2admin/db2inst1
db2look -d <數據庫名> -u <用戶> -t <表1> <表2> -e -o <腳本名稱>.sql --導出數據庫中表1和表2的表結構
db2move <數據庫名> export --導出數據庫數據
db2move <數據庫名> export -tn <表1>,<表2> --導出數據庫中表和表數據
9、數據庫導入
db2 -tvf <腳本名稱>.sql --把上述導出的表結構導入到數據庫表結構
db2move <數據庫名> load -lo replace --把上述“db2move <數據庫名> export “導出的數據導入到數據庫中并把相同的數據替換掉
在實際使用過程中,如果用到db2自增主鍵,需要使用by default, 而不是always,功能是一樣的,但這樣在數據移植時候會很方
便!
10、db2 connect reset 或 db2 terminate --斷開與數據庫的連接
11、db2set db2codepage=1208 --修改頁編碼為1208
12、db2 describe table <表名> --查看表結構
13、db2 list tables --查看數據庫中所有表結構
list tables for system --列出所有系統表
14、db2 list tablespaces --列出表空間
二、高級篇
15、fetch first 10 rows only --列出表中前10條數據
例如:select * from <表名> fetch first 10 rows only
16、coalesce(字段名,轉換后的值) --對是null的字段進行值轉換
例如:select coalesce(id,1) from <表名> --對表中id如果為null轉換成1
17、dayofweek(日期) --計算出日期中是周幾(1是周日,2是周一.......7是周六)
dayofweek_iso --計算出日期中是周幾(1是周一.......7是周日)
例如:dayofweek(date(2008-01-16)) --它會返回是4,代表星期三
dayofweek_iso(date(2008-01-16)) --它會返回是3,代表星期三
18、dayofyear(日期) --一年中的第幾天,范圍在1-366范圍之內
注意:參數中日期的格式是YYYY-MM-DD的形式,如果不是需要進行轉換,否則函數不能使用
例如:日期是20080116必須要進行轉換
dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)
這樣格式正確的。
19、concatt(參數1,連接值) --把參數1加上連接值組成一個新值。
例如: concat('aa','b') --返回是aab
把oracle表導入到db2數據庫中,有些字段類型需要進行轉換,具體看:
oracle與db2數據類型轉換
以上是自己經常用到一些db2命令,db2命令很多,不常用的沒有在上面記錄,以后如使用新命令會繼續進行更新!