天天看點

DML DDL DML指令的差別

DML DDL DML指令的差別

(2012-09-14 16:59:16)

DML DDL DML指令的差別

轉載▼

标簽:

ddl

dml

dcl

it

分類: 資料庫

DML是資料操作語言,但DDL是定義語言,DDL不能rollback

SQL(Structure Query Language)語言是資料庫的核心語言。

SQL的發展是從1974年開始的,其發展過程如下:

1974年-----由Boyce和Chamberlin提出,當時稱SEQUEL。

1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R

時改為SQL。

1979年-----ORACLE公司發表第一個基于SQL的商業化RDBMS産品。

1982年-----IBM公司出版第一個RDBMS語言SQL/DS。

1985年-----IBM公司出版第一個RDBMS語言DB2。

1986年-----美國國家标準化組織ANSI宣布SQL作為資料庫工業标準。

SQL是一個标準的資料庫語言,是面向集合的描述性非過程化語言。

它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好

學的語言)。然而SQL語言由于以上優點,同時也出現了這樣一個問題:

它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而

絕大部分應用都是一個完整的過程,顯然用SQL完全實作這些功能是很困

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

(1)擴充SQL,在SQL中引入過程性結構;(2)把SQL嵌入到進階語言中,

以便一起完成一個完整的應用。

二. SQL語言的分類

SQL語言共分為四大類:資料查詢語言DQL,資料操縱語言DML,

資料定義語言DDL,資料控制語言DCL。

1. 資料查詢語言DQL

資料查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE

子句組成的查詢塊:

SELECT <字段名表>

FROM <表或視圖名>

WHERE <查詢條件>

2 .資料操縱語言

資料操縱語言DML主要有三種形式:

1) 插入:INSERT

2) 更新:UPDATE

3) 删除:DELETE

3. 資料定義語言DDL

資料定義語言DDL用來建立資料庫中的各種對象-----表、視圖、

索引、同義詞、聚簇等如:

CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

| | | | |

表 視圖 索引 同義詞 簇

4. 資料控制語言DCL

資料控制語言DCL用來授予或回收通路資料庫的某種特權,并控制

資料庫操縱事務發生的時間及效果,對資料庫實行監視等。如:

1) GRANT:授權。

2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。

復原---ROLLBACK

復原指令使資料庫狀态回到上次最後送出的狀态。其格式為:

SQL>ROLLBACK;

3) COMMIT [WORK]:送出。

    在資料庫的插入、删除和修改操作時,隻有當事務在送出到資料

庫時才算完成。在事務送出前,隻有操作資料庫的這個人才能有權看

到所做的事情,别人隻有在最後送出完成後才可以看到。

送出資料有三種類型:顯式送出、隐式送出及自動送出。下面分

别說明這三種類型。