SQL中有關DQL、DML、DDL、DCL的概念與區別

SQL(Structure Query Language)結構化查詢語言是數據庫的核心語言,是高級的非過程化編程語言。它功能強大,效率高,簡單易學易維護。SQL語言基本上獨立於數據庫本身、使用的機器、網絡、操作系統,基於SQL的DBMS產品可以運行在從個人機、工作站到基於局域網、小型機和大型機的各種計算機系統上,具有良好的可移植性。


SQL結構化查詢語言包含6個部分

1.數據查詢語言(DQL: Data Query Language)

數據檢索語句,用於從表中獲取數據。通常最常用的爲保留字SELECT,並且常與FROM子句、WHERE子句組成查詢SQL查詢語句。

語法:

    SELECT <字段名> FROM <表或視圖名> WHERE <查詢條件>;


2.數據操縱語言(DML:Data Manipulation Language)

主要用來對數據庫的數據進行一些操作,常用的就是INSERT、UPDATE、DELETE。

語法:

    INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);

    UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;

    DELETE FROM <表名> WHERE <列名>=某值;


3.事務處理語言(DPL)

事務處理語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。


4.數據控制語言(DCL)

通過GRANT和REVOKE,確定單個用戶或用戶組對數據庫對象的訪問權限。


5.數據定義語言(DDL)

常用的有CREATE和DROP,用於在數據庫中創建新表或刪除表,以及爲表加入索引等。


6.指針控制語言(CCL)

它的語句,想DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT用於對一個或多個表單獨行的操作。


注:

   SQL是一個標準,每個數據庫服務器都在標準的基礎上進行了相應的調整和擴展,相應的,每個數據庫對數據的各種操作語言的語法就會做出相應的調整。在MySQL中,SQL通常分爲DDL、DML和查詢,還包括一些其它語句類別。MySQL將SELECT與INSERT、UPDATE、DELETE分別劃分到了查詢和DML,但是也並非絕對的劃分,通常會將SELECT與INSERT、UPDATE、DELETE一起劃分爲DML。具體參見MySQL官網中的MySQL Glossary,其中對SQL和DML的釋義分別如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章