SQL 语言分类
SQL語句分類有很多版本,下面轉載2種主流分類:
1.Oracle 對SQL的分類:
數據操作語言語句[Data manipulation language,DML]
- 從一個或多個表或視圖中查詢數據(SELECT);獲取操作[fetch]是可滾動 的[scrollable](見“可滾動游標”)
- 向表或視圖中加入新數據行(INSERT)
- 修改表或視圖中已有數據行的列值(UPDATE)
- 根據判斷條件為表及視圖插入或更新數據行(MERGE)
- 從表或視圖中刪除數據行(DELETE)
- 查詢 SQL 語句的執行計劃[execution plan](EXPLAIN PLAN)
- 對表或視圖加鎖[lock],臨時地限制其他用戶訪問此對象(LOCK TABLE)
數據定義語言語句[Data definition language,DDL]
- 創建,修改,移除方案對象及其他數據庫結構,包括數據庫自身及數據庫用戶(CREATE,ALTER,DROP)
- 修改方案對象名稱(RENAME)
- 刪除方案對象的所有數據,但不移除對象結構(TRUNCATE)
- 授予或收回權限及角色(GRANT,REVOKE)
- 打開或關閉審計選項(AUDIT,NOAUDIT)
- 向數據字典中添加注釋(COMMENT)
事務控制語句[transaction control statement]
- 將事務對數據的修改永久地保存到數據庫(COMMIT)
- 還原事務對數據的修改,可還原到事務開始處或任意保存點[savepoint](ROLLBACK)
- 設置保存點以標識回滾位置(SAVEPOINT)
- 設置事務的屬性(SET TRANSACTION)
會話控制語句[session control statement]
- 執行特定操作,修改當前會話,例如啟用或禁用 SQL 跟蹤功能[SQL trace facility](ALTER SESSION)
- 為當前會話啟用或禁用角色[role](即一組權限的集合)(SET ROLE)
- 系統控制語句[system control statement]
- ALTER SYSTEM是唯一的系統控制語句。
- 嵌入 SQL 語句[embedded SQL statement]
- 定義,分配,及釋放游標[cursor](DECLARE CURSOR,OPEN,CLOSE)
- 選擇一個 Oracle 數據庫并進行連接(DECLARE DATABASE,CONNECT)
- 分配變量名(DECLARE STATEMENT)
- 初始化描述符[descriptor](DESCRIBE)
- 設定如何處理錯誤及警告(WHENEVER)
- 解析并執行 SQL 語句(PREPARE,EXECUTE,EXECUTE IMMEDIATE)
- 從數據庫中取回數據(FETCH)
?
?
Oracle的語言分四類,它們是(數據定義語言DDL)、(數據操縱語言DML)、(數據控制語言DCL)?和 (事務控制語言TCL)
DDL
Data Definition Language (DDL) statements are used to define the database structure or schema. Some examples:
CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object
DML
Data Manipulation Language (DML) statements are used for managing data within schema objects. Some examples:
SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or?Java?subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency
DCL
Data Control Language (DCL) statements. Some examples:
GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command
TCL
Transaction Control (TCL) statements are used to manage the changes made by DML statements. It allows statements to be grouped together into logical transactions.
COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT
SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use
2.其他數據主流分法:
?數據查詢語言DQL
數據查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:
SELECT <字段名表>
FROM <表或視圖名>
WHERE <查詢條件>
數據操縱語言
數據操縱語言DML主要有三種形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 刪除:DELETE
?數據定義語言DDL
數據定義語言DDL用來創建數據庫中的各種對象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 視圖 索引 同義詞 簇
數據控制語言DCL
數據控制語言DCL用來授予或回收訪問數據庫的某種特權,并控制
數據庫操縱事務發生的時間及效果,對數據庫實行監視等。如:
1) GRANT:授權。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。
回滾---ROLLBACK
回滾命令使數據庫狀態回到上次最后提交的狀態。其格式為:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
??? 在數據庫的插入、刪除和修改操作時,只有當事務在提交到數據
庫時才算完成。在事務提交前,只有操作數據庫的這個人才能有權看
到所做的事情,別人只有在最后提交完成后才可以看到。
提交數據有三種類型:顯式提交、隱式提交及自動提交。下面分
別說明這三種類型。
(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>COMMIT;
(2) 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自動提交
若把AUTOCOMMIT設置為ON,則在插入、修改、刪除語句執行后,
系統將自動進行提交,這就是自動提交。其格式為:
SQL>SET AUTOCOMMIT ON;
轉載于:https://www.cnblogs.com/wanggs/p/5880212.html
總結
- 上一篇: python---os
- 下一篇: sql2005数据库大全