SQL 結構化查詢語言(英語:Structured Query Language,縮寫:SQL),是一種特殊目的之編程語言,用于數據庫中的標準數據查詢語言。IBM公司最早使用在其開發的數據庫系統中。19世紀70年代初出現在IBM,1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS數據庫系統中也實現了SQL。
SQL包含四個部分:
1.DDL(Data Definition Language)數據定義語言
2.DML(Data Manipulation Language)數據操縱語言
3.DCL(Data Control Language)數據控制語言
4.TCL(Transaction Control Language)事務控制語言
1.DDL(Data Definition Language)數據庫定義語言statements are used to define the database structure or schema.
DDL是SQL語言的四大功能之一。
用于定義數據庫的三級結構,包括外模式、概念模式、內模式及其相互之間的映像,定義數據的完整性、安全控制等約束
DDL不需要commit.
CREATE - 在數據庫中創建對象
ALTER - 改變數據庫的結構
DROP - 從數據庫中刪除對象
TRUNCATE - 從表中刪除所有記錄,包括為記錄分配的所有空格都將被刪除
COMMENT - 將注釋添加到數據字典
RENAME - 重命名對象
2.DML(Data Manipulation Language)數據操縱語言statements are used for managing data within schema objects.
由DBMS提供,用于讓用戶或程序員使用,實現對數據庫中數據的操作。
DML分成交互型DML和嵌入型DML兩類。
依據語言的級別,DML又可分成過程性DML和非過程性DML兩種。
需要commit.
SELECT - 從數據庫中檢索數據
INSERT - 將數據插入到表中
UPDATE - 更新表中的現有數據
DELETE - 刪除表中的所有記錄,記錄的空間仍然保留
MERGE - UPSERT操作(插入或更新)
CALL - 調用PL / SQL或Java子程序
解釋計劃 - 解釋數據的訪問路徑
LOCK TABLE - 控制并發
3.DCL(Data Control Language)數據庫控制語言 授權,角色控制等
GRANT - 給用戶訪問數據庫的權限
REVOKE - 撤回GRANT命令給出的訪問權限
4.TCL(Transaction Control Language)事務控制語言
COMMIT - 提交
SAVEPOINT - 識別可以稍后回滾的交易中的一個點
ROLLBACK - 自上次COMMIT起將數據庫還原為原始數據
SET TRANSACTION - 更改事務選項,如隔離級別以及要使用的回滾段
SQL主要分成四部分:
(1)數據定義。(SQL DDL)用于定義SQL模式、基本表、視圖和索引的創建和撤消操作。
(2)數據操縱。(SQL DML)數據操縱分成數據查詢和數據更新兩類。數據更新又分成插入、刪除、和修改三種操作。
(3)數據控制。包括對基本表和視圖的授權,完整性規則的描述,事務控制等內容。
(4)嵌入式SQL的使用規定。涉及到SQL語句嵌入在宿主語言程序中使用的規則。
參考資料來源:
http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
https://zh.wikipedia.org/wiki/SQL
版權著名:抹綠控的好奇寶寶