IBM DB2 資料庫使用小技巧

2020-12-12 IT168

1.   查看本地節點目錄
    命令窗口中輸入:db2   list   node   directory

2.   編目一個TCP/IP節點
    命令窗口:db2   catalog   tcpip   node   <node_name>   remote   <hostname|ip_address>   server   <svcname|port_number>   ostype   <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

3.   取消節點編目
    db2   uncatalog   node   <node_name>

4.   查看系統資料庫目錄
    db2   list   database   directory

5.   查看本地資料庫目錄
    db2   list   database   directory   on   <盤符>
    在本地資料庫目錄中有而系統資料庫目錄中沒有的資料庫不能訪問,可以在控制中心中選中 <資料庫> 右鍵單擊選擇添加,然後輸入需要添加的資料庫名稱或者點擊刷新按鈕選擇資料庫,加入資料庫後即可以訪問。

6.   編目資料庫
    db2   catalog   database   <db_name>   as   <db_alias>   at   node   <node_name>

7.   取消資料庫編目
    db2   uncatalog   database   <db_name>

8.   測試遠程資料庫的連接
    db2   connect   to   <db_alias>   user   <user_id>   using   <password>

9.   任何用戶均可通過設置Current   Schema專用寄存器為特定的資料庫連接設置默認模式,初始默認值為當前會話用戶的權限ID。
    set   schema   =   <schema   name>
    可以由用戶交互式的使用,也可在應用程式中使用,如果用Dynamicrules   Bind選項綁定包,這個語句就沒有作用。此語句不在事務控制之下。

10.   代碼頁的設置
    在創建資料庫時設置字符集
    create   database   <db_name>   using   codeset   <codeset>   territory   <territiry>
    例:
    create   database   dbtest   using   codeset   IBM-437   territory   US
    也可以設置整個資料庫的代碼頁,在win2000/NT/xp中,在我的電腦--> 屬性--> 高級--> 環境變量中添加變量DB2CODEPAGE   =   <codepage> ,例:DB2CODEPAGE   =   437   或   DB2CODEPAGE   =   1386。或者在IBM   DB2命令窗口輸入   db2set   DB2CODEPAGE=1386,設置後需要重新啟動DB2生效。

11.   DB2低版本數據到高版本的遷移
    先將低版本數據備份使用恢復功能導入高版本資料庫,然後在命令窗口輸入   db2   migrate   database   <db_name> 。

12.   表名或模式中含有引號時訪問表
    命令窗口:db2   select   *   from   \ "tabschema\ ".\ "tabname\ "
    命令行處理器:db2=>   select   *   from   "tabschema ". "tabname "

13.   導出資料庫的表結構生成DDL文件
    命令窗口:db2look   -d   <db_name>   -e   -c   -o   <file_name>
   
14.   執行腳本文件
    命令窗口:db2   -tvf   <file_name>
   
15.   代碼頁的轉換

16.   獲取當前DB2的版本
    select   *   from   sysibm.sysversions

17.   DB2表的欄位的修改限制?
    只能修改VARCHAR2類型的並且只能增加不能減少
    alter   table   <tb_name>   alter   column   <col_name>   set   data   type   varchar(SIZE)

18.   如何查看表的結構?
    describe   table   <tb_name>
    or
    describe   select   *   from   <schema> . <tb_name>

19.   如何快速清除一個大表?
    ALTER   TABLE   TABLE_NAME   ACTIVE   NOT   LOGGED   INITALLY   WITH   EMPTY   TABLE

20.   如何查看資料庫的存儲過程?
    SELECT   *   FROM   SYSCAT.PROCEDURES

21.   如何查看表的約束?
    SELECT   *   FROM   SYSCAT.CHECKS   WHERE   TABNAME   =   <tb_name>

22.   如何查看表的引用完整約束?
    SELECT   *   FROM   SYSCAT.REFERENCES   WHERE   TABNAME   =   <tb_name>

23.   如何知道BUFFERPOOLS狀況?
    select   *   from   SYSCAT.BUFFERPOOLS

24.   如何在命令行下查看修改實例和資料庫配置參數?
    查看實例配置參數:       db2   get   dbm   cfg
    修改實例配置參數:       db2   update   dbm   cfg   using   參數名   新值

    查看資料庫配置參數:       db2   get   db   cfg   for   <db_name>
    修改資料庫配置參數:       db2   update   db   cfg   for   <db_name>   using   參數名   新值

25.   如何修改緩衝區?
    增加緩衝區:       create   bufferpool   <buf_name>   size   <number   of   pages>   [pagesize   4096]   {[not]   EXTENDED   STORAGE}
    修改緩衝區:       alter   bufferpool   <buf_name>   size   <number   of   pages>   {[not]   EXTENDED   STORAGE}
    刪除緩衝區:       drop       bufferpool   <buf_name>

    如果緩衝區大小設置為   -1   表示緩衝池的頁面數目由資料庫配置參數buffpage決定。
    注意:   資料庫配置參數buffpage僅對緩衝區大小設置為   -1   的緩衝池起作用。

26.   多個欄位時如何不通過使用select子句使用in/not   in
    select   *   from   tabschema.tabname   where   (colA,   colB,   colC)   [not]   in   (values   (valueA1,   valueB1,   valueC1),   (valueA2,   valueB2,   valueC2),   ...(valueAn,   valueBn,   valueCn))

27.   查看當前連接到資料庫的應用
    db2   list   application   [show   detail]

28.   如何確認DB2資料庫的一致性
    db2dart   <db_name>   /DB
    /DB表示檢查整個資料庫的一致性

29.   測試SQL語句的性能
    db2batch   -d   <db_name>   -f   <file_name>   [-a   userid/passwd]   [-r   <outfile_name> ]
    -r   選項表示將查詢結果輸出到一個文件中。
30.   導出某個表的數據
    export   to   <Derectry> <filme>
如:導出用戶表
    export   to   c:\user.ixf   of   ixf   select   *   from   user

31.   導入數據
    import   from  
如:導入用戶表。導入時可以直接建立新表。如果有該表存在也可以用INSERT   插入,或者用UPDATE更新
 

相關焦點

  • VS2019 C# 連接IBM DB2資料庫並查詢數據表
    開發環境作業系統:win10 64位C#:VS2019資料庫:IBM
  • DB2資料庫常用命令集
    "db2 ?************************************************* 1.關閉db2  在腳本中一般兩個都寫上,避免使用db name>或db2 create db using codeset GBK territory CN 4.刪除資料庫執行此操作要小心。
  • SQL Server、Oracle、DB2一決高下
    【IT168 技術】目前資料庫領域,三大廠商就是微軟,Oracle和IBM,他們的拳頭產品分別就是SQL Server,Oracle,db2。這種三足鼎立的局面,已經存在了一段時間,而且還將繼續存在下去。
  • DB2技巧篇:DB2環境變量管理方法集
    在資料庫應用比較複雜的環境中,往往會通過使用分布式部署環境來提高資料庫的性能。當資料庫分布於不同的資料庫分區的系統中,這個註冊表駐留在每個節點上(即每臺伺服器上,且包含在這伺服器上存儲數據的所有實例的環境變量的值。注意這個級別的設置優先性要比以上兩個級別都要高,在這個級別上設置的環境變量的值將會取代在實例級別或者全局級別的對應設置。
  • python連接mysql,teradata,DB2資料庫
    資料庫是保存數據的重要載體,但結構化查詢語言SQL,表達能力較弱。如果能通過python連接資料庫,通過python腳本能實現一些自動化,批量繁雜的SQL增刪改查和數據監控等。sql_args = ("13911111111",)stmt = ibm_db.prepare(conn, sql)    # 預編譯ibm_db.execute(stmt, sql_args)      # 執行result = ibm_db.fetch_row(stmt)print(result)下面代碼給出了一個連接資料庫,及插入表內容例子。
  • 常用資料庫 JDBC URL格式(總結)
    SQLServer 2000)驅動程序包名:msbase.jar mssqlserver.jar msutil.jar驅動程序類名:com.microsoft.jdbc.sqlserver.SQLServerDriverJDBC URL: jdbc:microsoft:sqlserver://<server_name>:<port>默認埠1433,如果伺服器使用默認埠則
  • 【Access基礎】Access中使用SQL語句應掌握的幾點技巧
  • 基礎SQL-DDL語句-操作資料庫-操作表
    -- 需求: 創建名稱為db1的資料庫create database db1;-- 需求: 當db2資料庫不存在是創建名稱為db2資料庫create database if not exists db2; -- 需求: 創建名稱為db3資料庫,並指定字符集為gbkcreate database db3 character set
  • 小白篇(三):Mysql資料庫學習-Sql語句之DDL語法學習
    在講解DDL之前,我們先講解資料庫中的表。表是存儲記錄數據的入口,它起到定義數據類型和格式的作用,它能對需要記錄的數據起到約束作用。表由欄位名稱、欄位類型、欄位描述組成。欄位就是我們所說的一個標記項(例如:姓名、年齡、時間、地址、方向 等等)資料庫結構
  • IBM DB2日常應用匯總(二)
    DB2IDROPINSTANCE_NAME    具體步驟如下:    停止事例上所有應用程式    在所有打開的命令行上執行DB2TERMINATE    運行DB2STOP    備份DB2INSTPROF註冊變量指出的事例目錄    退出事例所有登陸者    使用DB2IDROP
  • DB2使用技巧兩則
    在進行數據操作時,如果SQL訪問的條件包含分區鍵,則可以利用分區表的分區過濾功能,限制數據訪問時所述及的分區,從而達到減少訪問數據量,提升資料庫系統性能的效果。同時利用範圍分區表的attach和detach功能,還能夠快捷地將數據從單表合併到分區表,或是將某分區的數據快速剝離至一張獨立的表中,減少了操作時所需要的數據移動。
  • 使用IBM Bluemix 上的 IoT 及 Push 服務發送推送消息到手機
    在新打開的 Cloudant 控制臺頁面中,在右上角找到按鈕 – 創建資料庫(Create Database),點擊之,在彈出的對話框裡,填上資料庫的名字,在這裡我們填上 demodb,並點擊創建(Create),隨後頁面上有資料庫創建成功的字樣出現,並且自動切入到已創建好的資料庫中。至此,我們的資料庫創建工作已經完成。 圖 9 在 Cloudant 裡創建資料庫
  • 網際網路(IT行業)主流資料庫詳細匯總
    數據保存在不同的二維表裡,而一個關係型資料庫就是由二維表及其之間的聯繫所組成的一個數據組織。傳統的關係型資料庫,如MySql、Oracle、db2、SqlServer、PostgreSql等採用行式存儲法。
  • 不使用IBM、Oracle、EMC,國產資料庫能彎道超車嗎?
    中國移動通信集團公司(下稱「中國移動」)委託浙江移動和河南移動進行的包括35大項、上百個小項的集群數據測試日前在中國移動內部公布,來自全國的11家國產資料庫廠商中的9家完成了測試,其中,北京恆輝信達技術有限公司(下稱「恆輝信達」)以20%的測試項目中排名第一、50%的項目排名第二,最終獲得綜合排名位列第一。
  • APIJSON 4.1.0 發布,新增支持 @raw 關鍵詞和 IBM DB2 資料庫
    APIJSON 4.0.0-4.1.0 更新內容 新增支持 IBM DB2 資料庫自動生成文檔與注釋等,做最先進的接口管理工具UnitAuto 機器學習自動化單元測試平臺,零代碼、全方位、自動化 測試 方法/函數 的正確性和可用性apijson-doc APIJSON 官方文檔,提供排版清晰、搜索方便的文檔內容展示,包括設計規範、圖文教程等APIJSONdocs APIJSON 英文文檔,提供排版清晰的文檔內容展示,包括詳細介紹、設計規範、使用方式等
  • IBM、麥肯錫最新暑期實習崗位來襲!
    【簡歷投遞】請將最新簡歷發送至liweiqq@cn.ibm.com郵件名稱註明「職位」及「來自微信」。2.熟練使用Verilog/VHDL編程以及使用仿真工具。3.了解AXI總線,了解Xilinx FPGA設計流程。4.有實際完成前端邏輯設計、調試和優化的項目經歷為佳。熟悉狀態機、寄存器、FIFO、並行、流水線、復位等設計細節,能進行簡單時序分析並優化代碼。5.熟悉C/C++語言,了解基本概念和一般的編譯調試方法。
  • 「MySQL系列」分析Sql執行時間及查詢執行計劃(附資料庫和一千萬數據)
    大批量數據導入數據a 將資料庫導入伺服器中(如果是windows系統,這步省略)b 創建一個資料庫創建資料庫(db2),表tb_skuc 命令行登錄資料庫mysql -u 用戶名 -p 密碼 ;d 切換到使用的資料庫use db2;e 使用命令load data local infile '/tmp/tb_sku1
  • 為什麼資料庫使用有序索引,而程式設計師卻在使用哈希表?
    有一次,在談到Google優化C++的哈希表時,有人指出在整個Google的伺服器中,有1%的CPU和4%的內存都被哈希表使用了。然而,資料庫默認總是會使用有序索引,通常是B樹。為什麼程序和資料庫之間的「默認」選擇會產生不同呢?說到底兩者都是為了同一個目標:訪問數據。一年前,我曾就這個問題在Twitter上發表了推文,並得到了許多有趣的答案。下面就來總結一下我得到的答案。
  • EndNote X9的 使用進階:資料庫導入
    前期我們有「Endnote 使用教程請查收!(附最新正版授權下載)」對EndNote X9做了簡要的介紹,以及入門使用技巧介紹。今天乘著很多童鞋暑假和小編也有整理好資料開始撰寫EndNote X9進階方法介紹。