一.數據定義語言(DDL) 1、使用create語句創建數據庫對象,包括[緩沖池(Buffer pool), 事件監視器(Event monitor), 函數(Function), 索引(Index), 模式(Schema), 存儲過程(Stored procedure), 表(Table), 表空間(Table space), 觸發器(Trigger), 視圖(View)], 例如:
CREATE TABLE T_CI_YCLLRDZ
(
FD_YCLLRDZ_ID CHAR(35) NOT NULL,
FD_CIYGBH CHARACTER(20),
FD_CJYGMC CHARACTER(50),
FD_WZYGBH CHARACTER(20),
FD_WZYGMC CHARACTER(50),
CONSTRAINT P_KEY_1 PRIMARY KEY (FD_YCLLRDZ_ID)
);
2、創建臨時表, declare語句創建表的時候于create相同, 只不過declare創建的是臨時表, 例如
Declare GLOBAL TEMPORARY TABLE session.temp1 like employee on commit PRESERVE ROWS NOT LOGGED IN mytempspace
這個語句用來聲明一個臨時表,表明為temp1, 位于現有的表空間mytempspace中(這個表空間必須存在), 和employee表結構一模一樣, 每當處理commit語句時,臨時表的行就會被保存下來(不會被刪除), 最后對臨時表的修改不用記入日志.
3、ALter語句可以用來改變數據庫中的一些特征, 比如[緩沖池(Buffer pool), 模式(Schema), 表(Table), 表空間(Table Space), 觸發器(Trigger), 視圖(View)], 注意: 不能修改索引, 如果想修改索引, 必須刪除該索引后重新添加、例如: alter table t_ci_yclsqjhzb add column fd_sxygbh CHARACTER(20); 為修改表t_ci_yclsqjhzb, 添加一個字段fd_sxygbh。修改字段屬性:alter table t_ci_yclsqjhzb alter column fd_sxygbh set datatype CHARACTER(50);
4、Drop語句用來刪除一些數據庫特征, 比如包括[緩沖池(Buffer pool), 事件監視器(Event monitor), 函數(Function), 索引(Index), 模式(Schema), 存儲過程(Stored procedure), 表(Table), 表空間(Table space), 觸發器(Trigger), 視圖(View)], 簡單的例子 drop table temp, 就是刪除表temp.
二、數據庫操作語言(DML)
1、使用Select, 用于檢索表或者視圖中的數據、例子 select * from temp;
2、使用Insert, 向表或者視圖中添加一條數據, 例子 Insert into temp (字段1, 字段2, 字段3) values (值1, 值2, 值3);
3、使用update, 修改表數據或者視圖中數據、例子1: update temp set 字段1=值1, 字段2=值2 例子2: update temp set(字段1,字段2)=(值1,值2);
4、使用delete, 刪除表數據或者視圖中的數據、例子 delete from temp
5、表中數據非常多的時候,500萬條以上,需要使用表分區來提高效率。
三、SQL工具
1、內連接
2、外連接(左連接, 右連接, 全連接).內連接時,返回查詢結果集合中之僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件之行。而采用外連接時,它返回到查詢結果集合中之不僅包含符合連接條件之行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連接)中之所有數據行。
3、就DB2而言, 連接查詢的效率要比子查詢要高.
4、Having和where的區別, 只有使用了group by的語句才能使用having.
5、Case語句在sql 中的應用,例如: select 字段1, 字段2 CASR type when 'T' then 'TABLE' when 'V' then 'VIEW' else 'OTHERS' END from temp,相當于, select 字段1,字段2,table from temp where type = 'T' union all select 字段1,字段2,view from temp where type = 'V';
6、合并查詢Union.
四、SQL函數
1、列函數
1.1 AVG函數, 平均值的函數.
1.2 COUNT函數, 計算表中某列的行數.
1.3 MAX函數, MIN函數,
1.4 STDDEV函數, 返回一組數的標準方差, stddev函數的參數可以是任何數字型數據類型, 返回結果是雙精度浮點型.
1.5 SUM函數, 求和
1.6 VARIANCE,返回一組數據的方差, VARIANCE函數的參數可以是任何數字型數據類型, 返回結果是雙精度浮點型.
2、標量函數
2.1 ABS 絕對值, HEX返回值的十六進制表示.
2.2 LENGTH返回參數中的字節數長度.
2.3 YEAR抽取參數中的年份.
五、DB2 UDB圖形用戶界面
1、配置助手, 指令: db2ca, 使用配置助手來配置和維護將要使用的數據庫對象, 必須在db2上配置了將要存儲的數據庫后才能使用這些數據庫.
2、控制中心, 指令: db2cc, 用戶可以在對象窗格或者內容窗格中選中要操作的對象, 然后右鍵彈出快捷菜單, 然后通過快捷菜單的命令, 對該對象進行相應的操作.
3、命令編輯器, 指令: db2ce, 用戶可以在命令編輯器中輸入指令或者調用現成的命令腳本, 然后查看執行后的結果.
4、命令窗口, 指令: db2cmd, 用戶可以在窗口中輸入命令或調用現成的命令腳本, 然后執行, 并查看結果.
5、信息中心, 指令: db2ic, db2提供了豐富的信息, 幾乎所有的信息都可以通過信息中心來獲得.
6、開發中心, 指令: db2dc, 開發中心可以完成多種任務, 如創建項目, 添加數據庫連接, 創建存儲過程, 創建UDF等基本任務, 也可以完成更改環境設置.
7、健康中心, 指令: db2hc.
8、任務中心, 指令: db2tc, 可以創建一些命令腳本.
9、復制中心, 指令: db2rc,
六、DB2安全控制
1、驗證,數據庫安全性中最基本的概念之一就是驗證,這是一個相當簡單的過程,系統通過這個過程來證實用戶身份。用戶可以通過提供身份證明或驗證令。來響應驗證請求。
2、驗證選項,dbm cfg authentication 參數的許多設置在邏輯上可以分組為以下四個不同類別:server(服務器)、client(客戶機)、dce、kerberos。
3、server(服務器)缺省安全性機制,指明驗證應該使用服務器的操作系統在服務器上發生。如果用戶標識和密碼是在連接期間指定的,那么 db2 將調用操作系統函數來驗證提交的用戶標識和密碼。(在基于 windows 的環境中,用戶標識常被稱為用戶名。用戶名和密碼合起來常被稱為用戶賬戶。)
4、client(客戶機)驗證。該組僅有的選項 client 指明驗證將在客戶機上發生。如果客戶機駐留在原本就具有安全特性的操作系統(例如,aix)上,那么它就是可信任客戶機。通常,除 microsoft windows 95 和 98 被認為不可信任之外,所有客戶機都是可信任的。
七、DB2備份恢復操作
1、整個備份,在控制中心,直接備份,這個備份包括表結構(描述、注釋、數據庫函數、觸發器、存儲過程...),恢復的時候也直接在控制中心點恢復庫就可以了,這里要注意恢復的路徑目錄,日期等。
2、db2move方法,一般只用來備份表數據,如果沒有表結構也會同時新建表,但是沒有其他例如注釋、觸發器等等的恢復。備份的例子:db2move cjdbgq[tablename] export -u bscj[user] -p baosight[password],這里也能備份單表。恢復的例子:db2move cjdbgq[tablename] import-u bscj[user] -p baosight[password];這里需要注意操作的目錄,應選擇為Dos進入目錄。
3、單表數據導出、導入,導出例子:export to c:\test\test.ixf of ixf select * from test;導入數據:import from c:\test\test.ixf of ixf insert into bscj.T_CI_ALERM;這里的import是添加的方式,所以在操作前需要delete from bscj.T_CI_ALERM,把已有數據清除。