DDL/DML/DCL/TCL基本概念

1. 數據定義語言DDL

DDL((Data Definition Language),用於定義/修改/刪除數據對象(如表)的數據結構,或者說,DDL語言操做的對象是數據庫中的對象而非對象所包含的數據。

DDL包含如下語句:mysql

  • CREATE : 在數據庫中建立新的數據對象
  • ALTER : 修改數據庫中對象的數據結構
  • DROP : 刪除數據庫中的對象
  • DISABLE/ENABLE TRIGGER : 修改觸發器的狀態
  • UPDATE STATISTIC : 更新表/視圖統計信息
  • TRUNCATE TABLE : 清空表中數據
  • COMMENT : 給數據對象添加註釋
  • RENAME : 更改數據對象名稱

2. 數據操做語言DML

DML(Data Manipulation Language),用於添加/修改/查詢數據庫中數據。sql

DML包含如下語句:數據庫

  • INSERT :將數據插入到表或視圖
  • DELETE :從表或視圖刪除數據
  • SELECT :從表或視圖中獲取數據
  • UPDATE :更新表或視圖中的數據
  • MERGE : 對數據進行合併操做(插入/更新/刪除)

3. 數據控制語言DCL

DCL(Data Control Language)用來向用戶賦予/取消對數據對象的控制權限。數據結構

DCL包含如下語句:spa

  • GRANT : 賦予用戶某種控制權限
  • REVOKE :取消用戶某種控制權限

4. 事務控制語言(TCL)

 

TCL(Transaction Control Language)用來對事務進行管理。.net

TCL包含如下語句:對象

  • COMMIT : 保存已完成事務動做結果
  • SAVEPOINT : 保存事務相關數據和狀態用以可能的回滾操做
  • ROLLBACK : 恢復事務相關數據至上一次COMMIT操做以後
  • SET TRANSACTION : 設置事務選項

根據語句操做目標的不一樣,仍是很好區分這四種類型:DDL-數據對象; DML-數據; DCL-權限; TCL-事務。事務

惟一須要注意的是TRUNCATE,儘管從功能上看至關於DELETE表中全部數據,但因爲它所操做的對象是table這個級別而非row(如因爲某種緣由不能當即刪除表數據時,TRUNCATE會鎖定整張表,而DELETE鎖定的則是row),因此歸在DDL中。ip

相關文章
相關標籤/搜索