首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 SQL 常用語句速查手冊 (一):增刪改查、導入導出、備份還原、編碼設定

     編輯:DB2 教學

整理 DB2 日常運維與開發高頻 SQL/命令,涵蓋 DML、載入卸載、編碼處理、CASE 語法差異,適合貼在工位牆上隨時查閱。

1. DML 快速範例

-- 插入 (從備份表同步)
INSERT INTO DOCSUMMITINFO (APPID, DOCRESULT, EXITVALUE, LOGDESC, DOCFLAG)
SELECT APPID, DOCRESULT, EXITVALUE, LOGDESC, DOCFLAG FROM DOCSUMMITINFOBAK;

-- 刪除前 N 筆 (需子查詢)
DELETE FROM (SELECT * FROM AUTEK.TEMPMAINBAK FETCH FIRST 20 ROWS ONLY);

-- 更新
UPDATE T SET COL1='NEW' WHERE COL2=100;

2. LOAD / IMPORT / EXPORT (高效能數據移動)

工具適用場景典型命令
LOAD大量初始裝載、替換模式、不記錄日誌 (最快)db2 LOAD FROM data.del OF DEL MODIFIED BY COLDEL0x7C REPLACE INTO SCHEMA.TABLE
IMPORT中小量、需觸發器/約束、記錄日誌db2 IMPORT FROM data.ixf OF IXF INSERT INTO SCHEMA.TABLE
EXPORT導出查詢結果db2 EXPORT TO data.del OF DEL SELECT * FROM TABLE

關鍵 MODIFIED BY 參數

  • COLDEL0x7C:分隔符 '|' (ASCII 0x7C)
  • COLDEL0x23:分隔符 '#' (ASCII 0x23)
  • CODEPAGE=1386:指定來源檔編碼 (GBK),避免中文亂碼
  • ANYORDER:LOAD 時允許並行、不保證順序,提升效能

3. 編碼/代碼頁設定

-- 實例級 (需重啟實例生效)
db2set DB2CODEPAGE=1208   -- UTF-8
db2set DB2CODEPAGE=819    -- ISO-8859-1

-- 查看資料庫級代碼頁
db2 GET DB CFG FOR DB_NAME | grep -i codeset

4. CASE 語法差異 (SQL Server vs DB2)

SQL ServerDB2 (標準 SQL)
CASE col WHEN NULL THEN 'N' ELSE 'Y' ENDCASE WHEN col IS NULL THEN 'N' ELSE 'Y' END
CASE WHEN col IS NULL ... 也支援統一用 CASE WHEN 條件 THEN ... 形式

5. 備份/還原/恢復常用命令

-- 離線備份
db2 BACKUP DB MYDB TO /backup COMPRESS

-- 聯機備份 (需歸檔日誌)
db2 BACKUP DB MYDB ONLINE TO /backup INCLUDE LOGS

-- 還原 (指定時間點)
db2 RESTORE DB MYDB FROM /backup TAKEN AT 20240115103000

-- 滾動恢復
db2 ROLLFORWARD DB MYDB TO END OF LOGS AND COMPLETE

-- 檢查備份完整性
db2ckbkp -a /backup/MYDB.0.DB2.NODE0000.20240115103000.001

6. 實用系統查詢

-- 表大小統計
SELECT TABSCHEMA, TABNAME, NPAGES*32/1024 AS SIZE_MB
FROM SYSCAT.TABLES WHERE TABSCHEMA NOT LIKE 'SYS%' ORDER BY 3 DESC;

-- 索引使用情況
SELECT INDSCHEMA, INDNAME, NLEAF, NLEVELS, CLUSTERRATIO
FROM SYSCAT.INDEXES WHERE TABSCHEMA='MYSchema';

-- 活動鎖等待
db2 GET SNAPSHOT FOR LOCKS ON MYDB

持續更新此速查表,將零散命令內化為肌肉記憶,應對線上事故更從容。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved