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

DB2 常用命令大全(上):從建庫連接到視圖觸發器的入門必備

     編輯:DB2 教學

一、數據庫生命周期管理

1. 創建數據庫(指定碼頁、地域、頁面大小)

CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32

2. 連接數據庫

CONNECT TO SAMPLE1 USER DB2ADMIN USING 8301206

二、別名系統:簡化跨 Schema 訪問

CREATE ALIAS DB2ADMIN.TABLES FOR SYSSTAT.TABLES;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS;
CREATE ALIAS DB2ADMIN.COLUMNS FOR SYSCAT.COLUMNS;
CREATE ALIAS GUEST.COLUMNS FOR SYSCAT.COLUMNS;

作用:將系統目錄視圖映射為用戶友好名稱,應用程式無需硬編碼 SYSSTAT/SYSCAT。

三、表對象創建與數據裝載

1. 以現有表結構創建新表(僅結構)

CREATE TABLE ZJT_TABLES AS (SELECT * FROM TABLES) DEFINITION ONLY;
CREATE TABLE ZJT_VIEWS AS (SELECT * FROM VIEWS) DEFINITION ONLY;

2. 全量數據複製

INSERT INTO ZJT_TABLES SELECT * FROM TABLES;
INSERT INTO ZJT_VIEWS SELECT * FROM VIEWS;

四、視圖:封裝查詢邏輯

CREATE VIEW V_ZJT_TABLES AS SELECT TABSCHEMA, TABNAME FROM ZJT_TABLES;

五、觸發器:自動化業務規則

CREATE TRIGGER ZJT_TABLES_DEL
AFTER DELETE ON ZJT_TABLES
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
INSERT INTO ZJT_TABLES1 VALUES(SUBSTR(O.TABSCHEMA,1,8), SUBSTR(O.TABNAME,1,10));

場景:刪除主表時自動歸檔關鍵信息到審計表。

六、索引:查詢加速器

CREATE UNIQUE INDEX I_ZTABLES_TABNAME ON ZJT_TABLES(TABNAME);

七、元數據查詢:看懂數據字典

1. 查表名

SELECT TABNAME FROM TABLES WHERE TABNAME='ZJT_TABLES';

2. 查欄位定義

SELECT SUBSTR(COLNAME,1,20) AS 列名, TYPENAME AS 類型, LENGTH AS 長度
FROM COLUMNS WHERE TABNAME='ZJT_TABLES';

3. 查表結構(CLP 命令)

db2 describe table USER1.DEPARTMENT
db2 describe select * from USER.TABLES

使用提示

  • 所有 SQL 以分號結尾;CLP 交互模式下 db2 => 提示符下可直接輸入 SQL。
  • 別名創建後需 COMMIT 生效。
  • DEFINITION ONLY 僅複製結構、不含數據、不含索引/約束/觸發器。
  • 觸發器 MODE DB2SQL 為標準模式,REFERENCING OLD AS O 讓觸發器體引用舊行。

下期預告

下篇將覆蓋:表空間管理、緩衝池配置、權限授權、備份恢復、監控快照、鎖分析、RUNSTATS/REORG 維護命令等進階運維指令。

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