2021-05-12 14:32:11
資料庫:淺談DML、DDL、DCL的區別
簡介
SQL是一個標準的資料庫語言,是面向集合的描述性非過程化語言。它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好學的語言)。然而SQL語言由於以上優點,同時也出現了這樣一個問題:它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而絕大部分應用都是一個完整的過程,顯然用SQL完全實現這些功能是很困難的。
所以大多數資料庫公司為了解決此問題,作了如下兩方面的工作:
-
擴充SQL,在SQL中引入過程性結構;
-
把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等領域相關技術乾貨,期待與您相遇!
相關文章