Posted on 2009-05-07 10:48
Prayer 閱讀(703)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
數(shù)據(jù)庫(kù),SQL 、
DB2
從功能上劃分,SQL
語(yǔ)言可以分為DDL,DML和DCL三大類。
1. DDL(Data Definition Language)
數(shù)據(jù)定義語(yǔ)言,用于定義和管理 SQL 數(shù)據(jù)庫(kù)中的所有對(duì)象的語(yǔ)言 ;
CREATE---創(chuàng)建表
ALTER---修改表
DROP---刪除表
2. DML(Data Manipulation Language)
數(shù)據(jù)操縱語(yǔ)言,SQL中處理數(shù)據(jù)等操作統(tǒng)稱為數(shù)據(jù)操縱語(yǔ)言 ;
INSERT---數(shù)據(jù)的插入
DELETE---數(shù)據(jù)的刪除
UPDATE---數(shù)據(jù)的修改
SELECT---數(shù)據(jù)的查詢
DCL(Data Control Language)
數(shù)據(jù)控制語(yǔ)言,用來(lái)授予或回收訪問(wèn)數(shù)據(jù)庫(kù)的某種特權(quán),并控制數(shù)據(jù)庫(kù)操縱事務(wù)發(fā)生的時(shí)間及效果,對(duì)數(shù)據(jù)庫(kù)實(shí)行監(jiān)視等;
GRANT---授權(quán)。
ROLLBACK---回滾
COMMIT---提交。
提交數(shù)據(jù)有三種類型:顯式提交、隱式提交及自動(dòng)提交。下面分別說(shuō)明這三種類型。
(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。
(2) 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自動(dòng)提交
若把AUTOCOMMIT設(shè)置為ON,則在插入、修改、刪除語(yǔ)句執(zhí)行后,
系統(tǒng)將自動(dòng)進(jìn)行提交,這就是自動(dòng)提交。其格式為: SQL>SET AUTOCOMMIT ON;
COMMIT / ROLLBACK這兩個(gè)命令用的時(shí)候要小心。 COMMIT / ROLLBACK 都是用在執(zhí)行 DML語(yǔ)句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 語(yǔ)句,執(zhí)行完之后,處理的數(shù)據(jù),都會(huì)放在回滾段中(除了 SELECT 語(yǔ)句),等待用戶進(jìn)行提交(COMMIT)或者回滾 (ROLLBACK),當(dāng)用戶執(zhí)行 COMMIT / ROLLBACK后,放在回滾段中的數(shù)據(jù)就會(huì)被刪除。
(SELECT 語(yǔ)句執(zhí)行后,數(shù)據(jù)都存在共享池。提供給其他人查詢相同的數(shù)據(jù)時(shí),直接在共享池中提取,不用再去數(shù)據(jù)庫(kù)中提取,提高了數(shù)據(jù)查詢的速度。)
所有的 DML 語(yǔ)句都是要顯式提交的,也就是說(shuō)要在執(zhí)行完DML語(yǔ)句之后,執(zhí)行 COMMIT 。而其他的諸如 DDL 語(yǔ)句的,都是隱式提交的。也就是說(shuō),在運(yùn)行那些非 DML 語(yǔ)句后,數(shù)據(jù)庫(kù)已經(jīng)進(jìn)行了隱式提交,例如 CREATE TABLE,在運(yùn)行腳本后,表已經(jīng)建好了,并不在需要你再進(jìn)行顯式提交。