SQL語言的四大類與三種提交方式的概念

SQL語言的四大類

Sql語言被分爲四大類:數據查詢語言(DQL),數據操縱語言(DML),數據定義語言(DDL),數據控制語言(DCL)mysql

 

1. 數據查詢語言(DQL)sql

數據查詢語言基本結構由select子句,from子句,where子句組成的查詢塊:數據庫

select [字段名] from [表或視圖名] where [查詢條件]spa

*注:show不屬於數據查詢語言,嚴格來講show屬於數據控制語言(DCL)。對象

查詢select是對表裏的信息數據進行查看,而顯示show是對錶結構和庫中存放的數據信息查看索引

2. 數據操縱語言(DML)事務

數據操縱語言是用來對表裏存在的信息數據作修改,而自己的主要構成結構不會變更。主要有三種形式:it

插入:inserttable

更新:updatedate

刪除:delete

3. 數據定義語言(DDL)

數據定義語言用來建立或修改數據庫中的各類對象的結構——庫、表、表引擎、字符集、視圖、索引、同義詞、聚簇

以及約束限制結構等;如:

create database/table/view/index/syn/cluster

alter table [表名] add/drop/change/modifiy column [字段] [字段定義] after [表存在的字段]

Drop table [表名];

truncate table [表名];

rename [原表名] to [新表名]

*注:數據定義語言是隱性提交的,不能rollback回滾

4. 數據控制語言(DCL)

  數據控制語言用來授予或回收訪問數據庫的某種特權,並控制數據庫操縱實務發生的時間及效果,對數據庫實行監如:

show:顯示

  grant:受權

  rollback [工做點] to [保存點]:回退到某一點

  回滾到數據最進提交前的狀態

  mysql>rollback;

  commit [工做點]:提交

 

顯式提交和隱式提交以及自動提交概念

顯式提交

全部的數據操縱語句都是要顯式提交的,所謂顯示提交就是要執行commit/rollback

數據操縱語句執行完後,處理的數據都會放在回滾段中,等待用戶進行提交或者回滾,

當用戶執行commit/rollback後,放在回滾段中的數據就會被刪除。

顯式提交是由你決定是否提交,這種事務容許你本身決定哪批工做必須成功完成,不然全部部分都不能完成。

目的是爲了給本身的事務定界。

隱式提交

mysql數據庫隱式提交的三種狀況:

1.     正常執行完數據定義語言(DDL)包括create,alter,drop,truncate,rename

2.     正常執行完數據控制語言(DCL)包括grant,revoke

3.     正常退出mysql客戶端,沒有明確發出commit/rollback

其餘的如數據定義語言(DDL),都是隱式提交的。就是不用進行commit/rollback

在運行數據操控語言後,mysql已經進行了隱式提交。

例如create table,在運行指令後表已經建好了,並不在須要進行顯式提交。

隱式事務又稱自動提交事務,由系統自動幫你完成並不須要你來提交。

自動提交

在插入、修改、刪除語句執行後,系統將自動進行提交。顯式提交轉變爲隱式提交的過程稱爲自動提交。

相關文章
相關標籤/搜索