資料庫:淺談DML、DDL、DCL的區別

誰主沉浮oo7發表於2020-09-18

簡介

SQL是一個標準的資料庫語言,是面向集合的描述性非過程化語言。它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好學的語言)。然而SQL語言由於以上優點,同時也出現了這樣一個問題:它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而絕大部分應用都是一個完整的過程,顯然用SQL完全實現這些功能是很困難的。

所以大多數資料庫公司為了解決此問題,作了如下兩方面的工作:

  1. 擴充SQL,在SQL中引入過程性結構;

  2. 把SQL嵌入到高階語言中,以便一起完成一個完整的應用。

SQL語言的分類

SQL語言共分為四大類:資料查詢語言DQL,資料操縱語言DML,資料定義語言DDL,資料控制語言DCL。

DQL

DML(data query language)資料查詢語言

資料查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:
SELECT <欄位名錶>
FROM <表或檢視名>
WHERE <查詢條件>

SELECT 列名稱 FROM 表名稱

DML

DML(data manipulation language)資料操縱語言

就是我們最經常用到的 UPDATE、INSERT、DELETE。 主要用來對資料庫的資料進行一些操作。

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
DELETE FROM 表名稱 WHERE 列名稱 = 值

DDL

DDL(data definition language)資料庫定義語言

其實就是我們在建立表的時候用到的一些sql,比如說:CREATE、ALTER、DROP等。DDL主要是用在定義或改變表的結構,資料型別,表之間的連結和約束等初始化工作上

CREATE TABLE 表名稱
(
列名稱1 資料型別,
列名稱2 資料型別,
列名稱3 資料型別,
....
)

ALTER TABLE table_name
ALTER COLUMN column_name datatype

DROP TABLE 表名稱
DROP DATABASE 資料庫名稱

DCL

DCL(Data Control Language)資料庫控制語言

是用來設定或更改資料庫使用者或角色許可權的語句,包括(grant,deny,revoke等)語句。這個比較少用到。

結語

歡迎關注微信公眾號『碼仔zonE』,專注於分享Java、雲端計算相關內容,包括SpringBoot、SpringCloud、微服務、Docker、Kubernetes、Python等領域相關技術乾貨,期待與您相遇!

相關文章