DB2必須瞭解的常用命令及技巧

1.db2裏面的字符串連接可用"||"這個進行連接

2.如何快速刪除大批量的數據表(test爲數據庫表)

最常用也是最多人用的語句:delete from test,但這種做法,效率比較低,花費時間太長,因爲在刪除數據時,要記數據庫日誌。

import from /dev/null of del replace into test//先清空,再導入數據(由於導入的文件爲空,故相當於清空表數據),這種刪除的速度較快

ALTER TABLE test activate NOT LOGGED initially WITH EMPTY TABLE ;刪除表中的數據,不記日誌,這種處理最快

3.導入、導出數據,支持的文件有ixf,del文件

db2 "export to fileName.del of del select * from tableName" //db2中把表中的數據導入到文件

db2 "import from fileName.del of del insert into tableName " //db2中把文件中的數據導入到表

4.DB2中檢查表是否已存在

select * from "SYSIBM"."SYSTABLES" where lower(name) ='afa_maintransdtl'

5.處理db2鎖表問題:

db2 “connect to afa”

db2 “get snapshot for locks on 實例名”

db2 “terminate”

然後查看相關信息,找到被鎖定的表,執行以下語句:

db2 “force application(application handle) 注:application handle對應的是一個整數

6.在服務器上創建存儲過程時:

應爲存儲過程指定特定的換行符,然後執行下面的語句:

db2 -td@ -vf fileName.sql (其中@爲存儲過程中指定的換行符)

7. 查看索引是否起作用

runstats on table afa.yj_jywtk with distribution and detailed indexes all;

8.截取數據庫快照:

db2 "connect to 實例名"

db2 "update monitor switches using lock ON sort ON bufferpool ON uow ON table ON statement ON"

db2 "get snapshot for all on 實例名"

9. 查看存儲過程

select procname,text from sysibm.sysprocedures;

10.list tables 查看數據庫表

11.查找字符在字串中的位置

locate('y','xyz')

查找'y'在'xyz'中的位置。

12. 計算兩個日期的相差天數

days(date('2007-03-01'))-days(date('2007-02-28'))

days 返回的是從 0001-01-01 開始計算的天數

13. 爲一個用戶訪問另一個實例創建表映射

create alias tableName for 實例名. tableName

14.如何查看錶結構

describe table tableName

or

describe select * from table_name

15.如何重新啓動數據庫?

restart database database_name

16.如何激活數據庫?

activate database database_name

17.如何停止數據庫?

deactivate database database_name

18.如何重命名錶?

rename table_old to table_new

19.如何定義序列?

create sequence orderseq start with 1 increment by 1 no maxvalue no cycle cache24

20.如何查看一個表的索引

describe indexes for table tableName show detail

 

 

文章轉自:http://database.51cto.com/art/200905/122272.htm

發佈了36 篇原創文章 · 獲贊 23 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章