SQL語句分類簡述


1 概述

SQL是一種用於數據庫訪問的非過程化語言,用戶通過 SQL 描述其目標,之后 SQL 語言編譯器自動地生成執行過程,控制數據庫執行用戶所期望的操作。本文大致介紹oracle中涉及到的一些語句。

2 分類

2.1 數據操作語言語句

數據操作語言[Data manipulation language,DML]語句的作用是查詢或操作已有方案對象內的數據。具體可以參考下表。

關鍵詞 作用
SELECT 從一個或多個表或視圖中查詢數據;
fetch 獲取操作,是可滾動的[scrollable](見“可滾動游標”)
INSERT 向表或視圖中加入新數據行
UPDATE 修改表或視圖中已有數據行的列值
MERGE 根據判斷條件為表及視圖插入或更新數據行
DELETE 從表或視圖中刪除數據行
EXPLAIN PLAN 查詢 SQL 語句的執行計划[execution plan]
LOCK TABLE 對表或視圖加鎖[lock],臨時地限制其他用戶訪問此對象

DML 語句是使用頻率最高的 SQL 語句。

2.2 數據定義語言語句

數據定義語言[Data definition language,DDL]語句的作用是定義或修改方案對象[schema object]的結構,以及移除方案對象。具體可以參考下表。

關鍵詞 作用
CREATE,ALTER,DROP 創建,修改,移除方案對象及其他數據庫結構,包括數據庫自身及數據庫用戶
RENAME 修改方案對象名稱
TRUNCATE 刪除方案對象的所有數據,但不移除對象結構
GRANT,REVOKE 授予或收回權限及角色
AUDIT,NOAUDIT 打開或關閉審計選項
COMMENT 向數據字典中添加注釋

DDL 語句將隱式地提交之前的操作並開始一個新事務。

2.3 事務控制語句

事務控制語句[transaction control statement]的作用是管理 DML 語句對數據的修改,以及將邏輯上相關的 DML 語句組織為事務。具體如下表。

關鍵詞 作用
COMMIT 將事務對數據的修改永久地保存到數據庫
ROLLBACK 還原事務對數據的修改,可還原到事務開始處或任意保存點[savepoint]
SAVEPOINT 設置保存點以標識回滾位置
SET TRANSACTION 設置事務的屬性

2.4 會話控制語句

會話控制語句[session control statement]用於管理用戶會話的屬性。具體如下表。

關鍵詞 作用
ALTER SESSION 執行特定操作,修改當前會話,例如啟用或禁用 SQL 跟蹤功能[SQL trace facility]
SET ROLE 為當前會話啟用或禁用角色[role](即一組權限的集合)

2.5 系統控制語句

系統控制語句[system control statement]用於修改 Oracle 數據庫實例的屬性。

ALTER SYSTEM |用戶可以使用此語句修改實例設置(例如共享服務進程的最小數量),終止進程[kill session],或執行其他操作。

2.6 嵌入 SQL 語句

用戶可以使用嵌入 SQL 語句[embedded SQL statement]將 DDL,DML,及事務控制語句加入到以過程化語言編寫的程序中。Oracle 預編譯器[precompiler]能夠處理這樣的代碼。具體可以參考下表。

關鍵詞 作用
DECLARE CURSOR,OPEN,CLOSE 定義,分配,及釋放游標[cursor]
DECLARE DATABASE,CONNECT 選擇一個 Oracle 數據庫並進行連接
DECLARE STATEMENT 分配變量名
DESCRIBE 初始化描述符[descriptor]
WHENEVER 設定如何處理錯誤及警告
PREPARE,EXECUTE,EXECUTE IMMEDIATE 解析並執行 SQL 語句
FETCH 從數據庫中取回數據

3 總結

以上的內容參考了官方文檔,熟悉這些語句關鍵詞對於理解sql非常重要。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM