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

DB2 查看表結構與修改欄位資料類型:DESCRIBE TABLE 與 ALTER COLUMN SET DATA TYPE

     編輯:DB2 教學

DB2 查看表結構與修改欄位資料類型:DESCRIBE TABLE 與 ALTER COLUMN SET DATA TYPE

DB2 查看表結構使用 DESCRIBE TABLE,修改欄位型別使用 ALTER TABLE ... ALTER COLUMN SET DATA TYPE。大量資料變更後建議執行 REORG TABLE 優化。

查看表結構

DESCRIBE TABLE YUS.KASHIDASHI_CHOSHO_MEISAI

輸出包含:欄位名、資料型別、長度、刻度、是否可空、預設值、隱藏/身分欄位標記。

修改欄位資料類型/長度/刻度

-- 修改 Rate 欄位為 DECIMAL(4,2) (總長 4 位,小數 2 位)
ALTER TABLE ProductTable
  ALTER COLUMN Rate SET DATA TYPE DECIMAL(4,2);

大量資料變更後優化

REORG TABLE ProductTable

REORG 重組表物理儲存,回收空間、更新統計、消除碎片,提升後續查詢效能。

SET DATA TYPE 規則與限制

操作是否支援說明
數值型擴大精度 (INT → BIGINT, DEC(5,2) → DEC(10,4))✅安全
字串型加長 (VARCHAR(10) → VARCHAR(50))✅安全
相容型別轉換 (CHAR → VARCHAR, SMALLINT → INTEGER)✅隱含轉換安全
縮減長度/精度 (VARCHAR(50) → VARCHAR(10))❌資料可能截斷,需先清理資料
不相容型別 (VARCHAR → INTEGER, DATE → TIMESTAMP)❌需建新欄位遷移資料
修改 NULL/NOT NULL另用語法ALTER COLUMN SET/DROP NOT NULL

完整修改流程範例

  1. DESCRIBE TABLE ProductTable 確認現狀
  2. SELECT MAX(LENGTH(Rate)) FROM ProductTable 檢查實際資料長度
  3. ALTER TABLE ProductTable ALTER COLUMN Rate SET DATA TYPE DECIMAL(4,2)
  4. REORG TABLE ProductTable (大表建議)
  5. RUNSTATS ON TABLE ProductTable 更新統計

對比:Oracle 語法

-- Oracle
ALTER TABLE ProductTable MODIFY Rate NUMBER(4,2);

-- DB2
ALTER TABLE ProductTable ALTER COLUMN Rate SET DATA TYPE DECIMAL(4,2);

掌握 DESCRIBE、ALTER COLUMN SET DATA TYPE、REORG 三步走,即可安全完成欄位型別演進。

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