2017年5月31日,天氣陰。近期事情頗多,心情比較沉重。數據庫
端午剛過,早上上課,不少同窗還處在端午的疲憊狀態中沒有回過神來,固然我也不例外。端午奔波三天,加上畢設的事情,能夠說身心俱疲。狀態不佳,整理了一下之前的筆記,發現不少知識點記憶不清了,甚至有些幾乎沒印象了。下面把本身對DDL、DML和DCL的區別與理解簡單整理,便於之後查看。併發
1.DDL(data definition language)——數據定義語言,用於定義和管理 SQL 數據庫中的全部對象的語言ide
DDL主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的連接和約束等初始化工做上,他們大多在創建表時使用。spa
(1)CREATE - to create objects in the database 建立 rest
(2)ALTER - alters the structure of the database 修改 對象
(3)DROP - delete objects from the database 刪除事務
(4)TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed TRUNCATE TABLE [Table Name]。ip
(5)COMMENT - add comments to the data dictionary 註釋rem
(6)GRANT - gives user's access privileges to database 受權 it
(7)REVOKE - withdraw access privileges given with the GRANT command 收回已經授予的權限
2.DML(data manipulation language)——數據操做語言,SQL中處理數據等操做統稱爲數據操縱語言。
它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字同樣,這4條命令是用來對數據庫裏的數據進行操做的語言。
(1)SELECT - retrieve data from the a database 查詢
(2)INSERT - insert data into a table 添加
(3)UPDATE - updates existing data within a table 更新
(4)DELETE - deletes all records from a table, the space for the records remain 刪除
(5)CALL - call a PL/SQL or Java subprogram
(6)EXPLAIN PLAN - explain access path to data
(7)LOCK TABLE - control concurrency 鎖,用於控制併發
3.DCL(Data Control Language)——數據控制語言,用來授予或回收訪問數據庫的某種特權,並控制數據庫操縱事務發生的時間及效果,對數據庫實行監視等。
數據庫控制功能,用來設置或更改數據庫用戶或角色權限的語句,包括grant,deny,revoke等語句。在默認狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員纔有權力執行DCL 詳細解釋。
(1)COMMIT - save work done 提交
(2)SAVEPOINT - identify a point in a transaction to which you can later roll back 保存點
(3)ROLLBACK - restore database to original since the last COMMIT 回滾
(4)SET TRANSACTION - Change transaction options like what rollback segment to use 設置當前事務的特性,它對後面的事務沒有影響