1. 程式人生 > >db2常用命令大全

db2常用命令大全

 近一年來在專案開發中使用到了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資料型別轉換