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

DB2 資料庫常用 SQL 與管理指令參考手冊

     編輯:DB2 教學

一、常用 DDL/DML 指令

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

-- 連線與別名
CONNECT TO sample1 USER db2admin USING password;
CREATE ALIAS db2admin.tables FOR syscat.tables;

-- 建表/視圖/觸發器/索引
CREATE TABLE zjt_tables AS (SELECT * FROM tables) DEFINITION ONLY;
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);

二、資訊查詢指令

-- 表/欄/視圖/索引/預存程序
SELECT tabname FROM syscat.tables WHERE tabname='ZJT_TABLES';
SELECT substr(colname,1,20) as 欄名,typename as 類型,length as 長度
FROM syscat.columns WHERE tabname='ZJT_TABLES';
DESCRIBE TABLE user1.department;
DESCRIBE INDEXES FOR TABLE user1.department;
SELECT procschema,procname FROM syscat.procedures;

三、連線與應用控制

CONNECT RESET;                    -- 重新連線
DISCONNECT db2_gcb;               -- 中斷連線
LIST APPLICATION;                 -- 檢視應用
FORCE APPLICATION ALL;            -- 強制斷開所有
LOCK TABLE test IN EXCLUSIVE MODE; -- 排他鎖
LOCK TABLE test IN SHARE MODE;     -- 共享鎖

四、目錄與權限管理

LIST TABLES;                      -- 當前用戶表
LIST TABLES FOR SYSTEM;           -- 系統表
LIST ACTIVE DATABASES;            -- 活躍資料庫
LIST DATABASE DIRECTORY;          -- 系統目錄
LIST TABLESPACES;                 -- 表空間
LIST TABLESPACE CONTAINERS FOR 1; -- 容器
GET AUTHORIZATIONS;               -- 存取權限

-- 權限授予
GRANT SELECT,INSERT,UPDATE,DELETE ON tables TO user;
GRANT ALL ON tables TO user WITH GRANT OPTION;
GRANT EXECUTE ON PACKAGE pkg TO PUBLIC;
GRANT CREATEIN ON SCHEMA sch TO user;
GRANT CONNECT,CREATETAB,DBADM ON DATABASE TO user;
GRANT CONTROL ON INDEX idx TO user;

五、工具與說明指令

? SQL30081          -- 錯誤碼說明
HELP SELECT         -- SQL 語法說明
? SQLSTATE          -- SQLSTATE 說明
DB2ADMIN SETID u p  -- 修改管理服務器口令
DB2SAMPL [F:]       -- 建立 SAMPLE 資料庫
! dir               -- 執行 OS 指令

六、資料類型對照

類型特性範圍/示例
CHAR(15)定長字串最大 254
VARCHAR(15)變長字串最大 4000
SMALLINT2 bytes-32768~32767
INTEGER4 bytes-2147483648~2147483647
REAL單精度~3.4E38
DOUBLE雙精度~1.79E308
DECIMAL(5,2)精確數值-10^31~10^31
DATE/TIME/TIMESTAMP日期時間7 部分值

七、彙總與標量函數

  • 彙總:AVG、COUNT、MAX、MIN
  • 標量:ABS、HEX、LENGTH、YEAR 等

八、正規化與目錄視圖

  • 1NF:每欄單一值;2NF:非鍵全賴主鍵;3NF:非鍵不傳遞賴賴;4NF:無多值事實
  • 常用目錄視圖:SYSCAT.TABLES、COLUMNS、INDEXES、VIEWS、TRIGGERS、FUNCTIONS、CHECKS、REFERENCES、SCHEMATA、DATATYPES、KEYCOLUSE、FUNCPARMS、PASSTHRUAUTH

九、大物件與字串類型

  • BLOB:二進位大物件
  • CLOB:字元大物件 (單/雙位元組混合)
  • DBCLOB:雙位元組字元大物件
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved