DDL、DML、DQL、DCL

原文鏈接

DQL、DML、DDL、DCL的概念與區(qū)別

SQL(Structure Query Language)語(yǔ)言是數(shù)據(jù)庫(kù)的核心語(yǔ)言。

SQL的發(fā)展是從1974年開(kāi)始的,其發(fā)展過(guò)程如下:
1974年-----由Boyce和Chamberlin提出,當(dāng)時(shí)稱SEQUEL。
1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R
時(shí)改為SQL。
1979年-----ORACLE公司發(fā)表第一個(gè)基于SQL的商業(yè)化RDBMS產(chǎn)品。
1982年-----IBM公司出版第一個(gè)RDBMS語(yǔ)言SQL/DS。
1985年-----IBM公司出版第一個(gè)RDBMS語(yǔ)言DB2。
1986年-----美國(guó)國(guó)家標(biāo)準(zhǔn)化組織ANSI宣布SQL作為數(shù)據(jù)庫(kù)工業(yè)標(biāo)準(zhǔn)。
SQL是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)語(yǔ)言,是面向集合的描述性非過(guò)程化語(yǔ)言。
它功能強(qiáng),效率高,簡(jiǎn)單易學(xué)易維護(hù)(迄今為止,我還沒(méi)見(jiàn)過(guò)比它還好
學(xué)的語(yǔ)言)。然而SQL語(yǔ)言由于以上優(yōu)點(diǎn),同時(shí)也出現(xiàn)了這樣一個(gè)問(wèn)題:
它是非過(guò)程性語(yǔ)言,即大多數(shù)語(yǔ)句都是獨(dú)立執(zhí)行的,與上下文無(wú)關(guān),而
絕大部分應(yīng)用都是一個(gè)完整的過(guò)程,顯然用SQL完全實(shí)現(xiàn)這些功能是很困
難的。所以大多數(shù)數(shù)據(jù)庫(kù)公司為了解決此問(wèn)題,作了如下兩方面的工作:
(1)擴(kuò)充SQL,在SQL中引入過(guò)程性結(jié)構(gòu);(2)把SQL嵌入到高級(jí)語(yǔ)言中,
以便一起完成一個(gè)完整的應(yīng)用。

二. SQL語(yǔ)言的分類

SQL語(yǔ)言共分為四大類:數(shù)據(jù)查詢語(yǔ)言DQL,數(shù)據(jù)操縱語(yǔ)言DML,數(shù)據(jù)定義語(yǔ)言DDL,數(shù)據(jù)控制語(yǔ)言DCL。

1. 數(shù)據(jù)查詢語(yǔ)言DQL
數(shù)據(jù)查詢語(yǔ)言DQL基本結(jié)構(gòu)是由SELECT子句,F(xiàn)ROM子句,WHERE
子句組成的查詢塊:
SELECT <字段名表>
FROM <表或視圖名>
WHERE <查詢條件>

2 .數(shù)據(jù)操縱語(yǔ)言DML
數(shù)據(jù)操縱語(yǔ)言DML主要有三種形式:

  1. 插入:INSERT
  2. 更新:UPDATE
  3. 刪除:DELETE

3. 數(shù)據(jù)定義語(yǔ)言DDL
數(shù)據(jù)定義語(yǔ)言DDL用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)中的各種對(duì)象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 視圖 索引 同義詞 簇

DDL操作是隱性提交的!不能rollback

4. 數(shù)據(jù)控制語(yǔ)言DCL
數(shù)據(jù)控制語(yǔ)言DCL用來(lái)授予或回收訪問(wèn)數(shù)據(jù)庫(kù)的某種特權(quán),并控制
數(shù)據(jù)庫(kù)操縱事務(wù)發(fā)生的時(shí)間及效果,對(duì)數(shù)據(jù)庫(kù)實(shí)行監(jiān)視等。如:

  1. GRANT:授權(quán)。

  2. ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點(diǎn)。
    回滾---ROLLBACK
    回滾命令使數(shù)據(jù)庫(kù)狀態(tài)回到上次最后提交的狀態(tài)。其格式為:
    SQL>ROLLBACK;

  3. COMMIT [WORK]:提交。

    在數(shù)據(jù)庫(kù)的插入、刪除和修改操作時(shí),只有當(dāng)事務(wù)在提交到數(shù)據(jù)
    庫(kù)時(shí)才算完成。在事務(wù)提交前,只有操作數(shù)據(jù)庫(kù)的這個(gè)人才能有權(quán)看
    到所做的事情,別人只有在最后提交完成后才可以看到。
    提交數(shù)據(jù)有三種類型:顯式提交、隱式提交及自動(dòng)提交。下面分
    別說(shuō)明這三種類型。

(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>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;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容