DML(Data Manipulation Language commands)數據操縱語言;DDL(Data Definition Language commands)數據定義語言;TCC(Transaction Control commands)事務控制語言;SCC(System Control commands )系統控制語言
DB2數據庫使用
DML(Data Manipulation Language commands)數據操縱語言
DDL(Data Definition Language commands) 數據定義語言
TCC(Transaction Control commands) 事務控制語言
SCC(System Control commands ) 系統控制語言
一DML數據操縱語言
(一)數據查詢命令
select <查詢內容> From <表名>
where <條件> /*in,between,like%或_*/
group by<分組內容>
having<組內條件>
order by<排序內容>[asc/desc];
(二)數據更新命令
1、數據插入命令
(1).具體的值插入表中
Insert into <表名> [(列名表)]
values<值表1>,<值表2>,<值表2>...
(注: 日期,字符型值加引號)
(2).將其它表滿足條件的數據插入到一個表中
Insert into <表名> [<列表名>] <select 子句>
2、數據修改命令
Update <表名> set <列名1>=<表達式1>,<列名2>=<表達式2>...
[where<條件>];
Update <表名> set <列名1>=(<select 子句>) [where<條件>];
3、數據刪除命令
Delete from <表名> [where<條件>];
二DDL數據定義語言
(一)、基本數據類型
1.字符串
字符串為一個字節序列,字符串的長度為序列中的字節數。如果長度為零,則該字符串的值稱為空字符串。
CHAR(x) 是固定長度字符串。(1=<x<=254),缺省為1 。
VARCHAR(x) 可變長度字符x<=4000,x>254不能用group by ,order by,distinct 和除
union all以外的任何設置操作。
GRAPHIC(x) 是固定圖形字符串。(1=<x<=127)
BLOB 二進制字符串,是一個字節序列,用於保存非傳統數據,如圖象、圖形、聲
音等數據。
2 數字 :所有數字都有符號和精度。精度是除開符號的位數或數字數。
SMALLINT 小整數,是精度為5位的兩字節整數。
INTEGER 大整數,是精度為10位的四字節整數。
REAL 單精度浮點數,是實數的32位近似值。
DOUBLE 雙精度浮點數,是實數的64位近似值,DOUBLE也稱FLOAT。
DECIMAL(p,s) DECIMAL是一個十進制數。小數點的位置由數字的 精度(p)和小數位(s)
確定。精度是數字的總位數,必須小於32。小數位是小數部分數字的位
數且總是小於或等於精度值。如果未指定精度和小數位,則十進制值的
缺省精度為5,缺省小數位為0。
3 日期時間值 :日期時間值是日期、時間以及時間戳記的表示,日期時間值可以用於某些算術運算和字符串運算並且與某些字符串是相容的。
DATE 由三個部分構成(年、月以及日)。
TIME 使用24小時制,分為三個部分(小時、分鐘以及秒)。
IMESTAMP 分為七個部分(年、月、日、小時、分鐘、秒以及微秒)。
4空值 空值是一個區別於所有非空值的特殊值。它意味著行中的那一列無任何其
它值。所有數據類型都存在空值。
(二)、數據定義
1、Create (創建)
u 創建表:
Create table [<模式名>.]<表名> (<列名1> <類型> [Null|Not null] [,<列
名2> <類型>...]
u 創建視圖:
Create view [<模式名>.]<視圖名> [<列名表>] as select 語句
u 創建別名:
Create alias [<模式名>.]別名for [<模式名>.]表名/視圖名/別名
u 創建索引:
Create [unique] index <索引名> /*I_表名_字段名*/ on <表名>(<列名
>[asc|desc]
u 創建模式:
Create schema 模式名authorization 權限名
2、Drop (摧毀)
u 摧毀表:
drop table [<模式名>.]表名
u 摧毀視圖:
drop view [<模式名>.]視圖名
u 摧毀別名:
drop alias [<模式名>.]別名
u 摧毀觸發器:
drop trigger [<模式名>.]觸發器名
u 摧毀索引:
drop index [<模式名>.]<索引名>
u 摧毀包:
drop package [<模式名>.]包名
3、Alter (變更)
u 增加表列:
Alter table [<模式名>.]<表名> add column [<列名1> <類型> [Null|Not null]]...
u 增加約束:
Alter table [<模式名>.]<表名> add constraint 列名CHECK (約束)
u 刪除約束:
Alter table [<模式名>.]<表名> drop constraint 約束名
u 修改列類型:
Alter table [<模式名>.]<表名> alter column 列名set data type <類型>
4、Grant (賦權)
u 對[public/用戶/組] 賦於在表上的[all/select/insert/update/delete] 權限:
Grant [all/select/insert/update/delete] on [<模式名>.]表名to [public/用戶/
組];
u 對[public/用戶/組] 賦於在包上的[bind/execute/]權限:
Grant [bind/execute/] on package [<模式名>.][包名] to [public/用戶/組];
u 對[public/用戶/組] 賦於在索引上的[control]權限:
Grant control on index [<模式名>.]索引名to [public/用戶/組]
5、Revoke (回收)
u 從public/用戶/組] 回收在表上的[all/select/insert/update/delete] 權限:
Revoke [all/select/insert/update/delete] on [表名] from [public/用戶/組];
u 從public/用戶/組] 回收在包上的[bind/execute/] 權限:
Revoke [bind/execute/] on package [<模式名>.][包名]from [public/用戶/組];