0. 說明
今天遇到一個(gè)同學(xué)分不清楚SQL所屬的分類,所以我才總結(jié)下SQL語句的分類,其實(shí)基本上教科書上都會(huì)有這個(gè)。
SQL語言共分為四大類:數(shù)據(jù)查詢語言DQL,數(shù)據(jù)操縱語言DML,數(shù)據(jù)定義語言DDL,數(shù)據(jù)控制語言DCL。
SQL語句分類簡圖
1. 數(shù)據(jù)查詢語言DQL
數(shù)據(jù)查詢語言DQL基本結(jié)構(gòu)是由SELECT子句,F(xiàn)ROM子句,WHERE
子句組成的查詢塊:
SELECT <字段名表> FROM <表或視圖名> WHERE <查詢條件>
2 .數(shù)據(jù)操縱語言DML
數(shù)據(jù)操縱語言DML主要有三種形式:
- 插入:INSERT
- 更新:UPDATE
- 刪除:DELETE
3. 數(shù)據(jù)定義語言DDL
數(shù)據(jù)定義語言DDL用來創(chuàng)建數(shù)據(jù)庫中的各種對(duì)象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE(表)/VIEW(視圖)/INDEX(索引)/SYN(同義詞)/CLUSTER(簇)
DDL操作是隱性提交的!不能rollback。
4. 數(shù)據(jù)控制語言DCL
數(shù)據(jù)控制語言DCL用來授予或回收訪問數(shù)據(jù)庫的某種特權(quán),并控制。
數(shù)據(jù)庫操縱事務(wù)發(fā)生的時(shí)間及效果,對(duì)數(shù)據(jù)庫實(shí)行監(jiān)視等。如:
- - GRANT:授權(quán)。
- - ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點(diǎn)。
回滾---ROLLBACK
回滾命令使數(shù)據(jù)庫狀態(tài)回到上次最后提交的狀態(tài)。其格式為:
SQL>ROLLBACK;
- - COMMIT [WORK]:提交。
在數(shù)據(jù)庫的插入、刪除和修改操作時(shí),只有當(dāng)事務(wù)在提交到數(shù)據(jù)庫時(shí)才算完成。在事務(wù)提交前,只有操作數(shù)據(jù)庫的這個(gè)人才能有權(quán)看到所做的事情,別人只有在最后提交完成后才可以看到。
提交數(shù)據(jù)有三種類型:顯式提交、隱式提交及自動(dòng)提交。下面分別說明這三種類型。
- - 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>COMMIT;
- - 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
- - 自動(dòng)提交
若把AUTOCOMMIT設(shè)置為ON,則在插入、修改、刪除語句執(zhí)行后,系統(tǒng)將自動(dòng)進(jìn)行提交,這就是自動(dòng)提交。其格式為:
SQL>SET AUTOCOMMIT ON;
5. 總結(jié)
本文只是介紹SQL語句按照功能分類的概念,其實(shí)大部分用到的是DQL和DML,偶爾會(huì)用到DDL,一般的開發(fā)人員很少會(huì)用到DCL。希望本文對(duì)你學(xué)習(xí)SQL有幫助。
求評(píng)論、點(diǎn)贊、關(guān)注+轉(zhuǎn)發(fā)。
限于筆者知識(shí)有限,如果不足之處請(qǐng)幫忙指正,不喜勿噴!
您的支持是我不懈努力的動(dòng)力,請(qǐng)讀者多支持下!
更多文章,請(qǐng)關(guān)注微信公眾號(hào) CS_Toper之路,或者頭條號(hào) CSToper。