溫暖潔森

          勇敢做自己

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            13 隨筆 :: 1 文章 :: 70 評(píng)論 :: 0 Trackbacks
              近一年來在項(xiàng)目開發(fā)中使用到了IBM的DB2 9.1的數(shù)據(jù)庫(kù)產(chǎn)品,跟Oracle相比一些命令有很大的區(qū)別,而它最大的功能是支持

          xml存儲(chǔ)、檢索機(jī)制,通過XPath進(jìn)行解析操作,使開發(fā)人員免于對(duì)xml文件在應(yīng)用進(jìn)行解析處理,先對(duì)其常用命令進(jìn)行一下匯

          總,以免遺忘。

          注意:在執(zhí)行如下命令時(shí),需要首先安裝db2客戶端并通過在運(yùn)行中輸入db2cmd進(jìn)行初始化

          一、基礎(chǔ)篇

          1、db2 connect to <數(shù)據(jù)庫(kù)名>    --連接到本地數(shù)據(jù)庫(kù)名

                 db2 connect to <數(shù)據(jù)庫(kù)名> user <用戶名> using <密碼> --連接到遠(yuǎn)端數(shù)據(jù)庫(kù)

          2、 db2 force application all      --強(qiáng)迫所有應(yīng)用斷開數(shù)據(jù)庫(kù)連接

             
          3、db2 backup db db2name<數(shù)據(jù)庫(kù)名稱>  --備份整個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)

                 db2 restore db <db2name>                     --還原數(shù)據(jù)庫(kù)

          4、db2 list application --查看所有連接(需要連接到具體數(shù)據(jù)庫(kù)才能查看)

          5、db2start    --啟動(dòng)數(shù)據(jù)庫(kù)
              
                db2stop --停止數(shù)據(jù)庫(kù)

          6、create database <數(shù)據(jù)庫(kù)名> using codeset utf-8 territory CN    --創(chuàng)建數(shù)據(jù)庫(kù)使用utf-8編碼

          7、db2 catalog 命令

          db2 catalog tcpip node <接點(diǎn)名稱> remote <遠(yuǎn)程數(shù)據(jù)庫(kù)地址> server <端口號(hào)>  --把遠(yuǎn)程數(shù)據(jù)庫(kù)映射到本地接點(diǎn)一般為50000

          db2 catalog db <遠(yuǎn)程數(shù)據(jù)庫(kù)名稱> as <接點(diǎn)名稱>  at node PUB11                       --遠(yuǎn)程數(shù)據(jù)庫(kù)名稱到本地接點(diǎn)

          db2 CONNECT TO <接點(diǎn)名稱> user <用戶名> using <密碼>                               --連接本地接點(diǎn)訪問遠(yuǎn)程數(shù)據(jù)庫(kù)


          8、數(shù)據(jù)庫(kù)導(dǎo)出

          db2look -d <數(shù)據(jù)庫(kù)名> -u <用戶> -e -o <腳本名稱>.sql        --導(dǎo)出數(shù)據(jù)庫(kù)的表結(jié)構(gòu),其中用戶空間一般為db2admin/db2inst1

          db2look -d <數(shù)據(jù)庫(kù)名> -u <用戶> -t <表1> <表2>  -e -o <腳本名稱>.sql   --導(dǎo)出數(shù)據(jù)庫(kù)中表1和表2的表結(jié)構(gòu)

          db2move <數(shù)據(jù)庫(kù)名> export              --導(dǎo)出數(shù)據(jù)庫(kù)數(shù)據(jù)

          db2move <數(shù)據(jù)庫(kù)名> export -tn <表1>,<表2>       --導(dǎo)出數(shù)據(jù)庫(kù)中表和表數(shù)據(jù)

          9、數(shù)據(jù)庫(kù)導(dǎo)入

          db2 -tvf  <腳本名稱>.sql       --把上述導(dǎo)出的表結(jié)構(gòu)導(dǎo)入到數(shù)據(jù)庫(kù)表結(jié)構(gòu)

          db2move <數(shù)據(jù)庫(kù)名> load -lo replace   --把上述“db2move <數(shù)據(jù)庫(kù)名> export “導(dǎo)出的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)中并把相同的數(shù)據(jù)替換掉 


          在實(shí)際使用過程中,如果用到db2自增主鍵,需要使用by default, 而不是always,功能是一樣的,但這樣在數(shù)據(jù)移植時(shí)候會(huì)很方

          便!

          10、db2 connect reset 或 db2 terminate    --斷開與數(shù)據(jù)庫(kù)的連接

          11、db2set db2codepage=1208        --修改頁(yè)編碼為1208

          12、db2 describe table <表名>       --查看表結(jié)構(gòu)

          13、db2 list tables                            --查看數(shù)據(jù)庫(kù)中所有表結(jié)構(gòu)

                  list tables for system                  --列出所有系統(tǒng)表

          14、db2 list tablespaces                  --列出表空間

          二、高級(jí)篇


          15、fetch first 10 rows  only   --列出表中前10條數(shù)據(jù)

          例如:select * from <表名> fetch first 10 rows only

          16、coalesce(字段名,轉(zhuǎn)換后的值)       --對(duì)是null的字段進(jìn)行值轉(zhuǎn)換

          例如:select coalesce(id,1)  from <表名>    --對(duì)表中id如果為null轉(zhuǎn)換成1

          17、dayofweek(日期)     --計(jì)算出日期中是周幾(1是周日,2是周一.......7是周六)

                 dayofweek_iso    --計(jì)算出日期中是周幾(1是周一.......7是周日)
                
           例如:dayofweek(date(2008-01-16))   --它會(huì)返回是4,代表星期三
                     
                       dayofweek_iso(date(2008-01-16))   --它會(huì)返回是3,代表星期三

          18、dayofyear(日期)   --一年中的第幾天,范圍在1-366范圍之內(nèi)

          注意:參數(shù)中日期的格式是YYYY-MM-DD的形式,如果不是需要進(jìn)行轉(zhuǎn)換,否則函數(shù)不能使用

          例如:日期是20080116必須要進(jìn)行轉(zhuǎn)換

          dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)

          這樣格式正確的。

          19、concatt(參數(shù)1,連接值)       --把參數(shù)1加上連接值組成一個(gè)新值。

            例如: concat('aa','b')    --返回是aab


          把oracle表導(dǎo)入到db2數(shù)據(jù)庫(kù)中,有些字段類型需要進(jìn)行轉(zhuǎn)換,具體看:oracle與db2數(shù)據(jù)類型轉(zhuǎn)換


                以上是自己經(jīng)常用到一些db2命令,db2命令很多,不常用的沒有在上面記錄,以后如使用新命令會(huì)繼續(xù)進(jìn)行更新!
          posted on 2008-01-16 13:44 harry520 閱讀(34495) 評(píng)論(6)  編輯  收藏

          評(píng)論

          # re: db2常用命令大全 2008-03-21 12:03 馬現(xiàn)福
          好 謝謝   回復(fù)  更多評(píng)論
            

          # re: db2常用命令大全[未登錄] 2008-08-15 10:10 ke
          樓主,問你個(gè)問題,我想從DB2上邊導(dǎo)數(shù)據(jù)出來.我機(jī)器裝了客戶端,怎么db2move都沒法用的.是不是只能遠(yuǎn)程登到服務(wù)器上導(dǎo)啊.謝謝
            回復(fù)  更多評(píng)論
            

          # re: db2常用命令大全 2011-08-11 11:06 jinhua_110
          很用啊。  回復(fù)  更多評(píng)論
            

          # re: db2常用命令大全 2012-03-18 19:50 5
          5  回復(fù)  更多評(píng)論
            

          # re: db2常用命令大全 2013-04-24 10:34 雷鋒
          dayofweek 報(bào)錯(cuò)????  回復(fù)  更多評(píng)論
            

          # re: db2常用命令大全[未登錄] 2013-05-10 14:29 a
          有些是錯(cuò)的,樓主瞎抄過來也不驗(yàn)證一下  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 太保市| 巴彦淖尔市| 彰武县| 万宁市| 蒙城县| 金塔县| 富锦市| 盐城市| 浏阳市| 镇宁| 河北省| 容城县| 扎赉特旗| 文安县| 寿宁县| 始兴县| 谢通门县| 称多县| 项城市| 安溪县| 偏关县| 澄城县| 湖南省| 山西省| 阿坝县| 方城县| 临漳县| 南昌县| 米脂县| 阿拉善左旗| 正定县| 青州市| 阿拉尔市| 禹州市| 西和县| 淮安市| 获嘉县| 麻江县| 拜城县| 青龙| 宜君县|