SQL簡介
SQL是一種操作數據庫的語言; 它包括數據庫創建,刪除,獲取行,修改行等。SQL是ANSI(美國國家標準協會)標準語言,但有許多不同版本的SQL語言。
SQL只是一種查詢語言,它不是數據庫。 要執行SQL查詢,您需要安裝任何數據庫,例如Oracle,MySQL,MongoDB,PostGre SQL,SQL Server,DB2等。
1. SQL是什麼?
SQL是結構化查詢語言,它是一種用於存儲,操作和檢索存儲在關係數據庫中的數據的計算機語言。
SQL是關係數據庫系統的標準語言。所有關係數據庫管理系統(RDMS)如:MySQL,MS Access,Oracle,Sybase,Informix,Postgres和SQL Server都使用SQL作爲其標準數據庫語言。
此外,關係數據庫管理系統使用不同的方言,如 -
- MS SQL Server使用T-SQL,
- Oracle使用PL/SQL,
- MS Access的SQL版本稱爲JET SQL(本機格式)等。
2. 爲什麼要使用SQL?
SQL廣受歡迎,因爲它具有以下優點 -
- 允許用戶訪問關係數據庫管理系統中的數據。
- 允許用戶描述數據。
- 允許用戶定義數據庫中的數據並操縱這些數據。
- 允許使用SQL模塊,庫和預編譯器嵌入其他語言。
- 允許用戶創建和刪除數據庫和表。
- 允許用戶在數據庫中創建視圖,存儲過程和函數。
- 允許用戶設置表,過程和視圖的權限。
3. SQL簡史
- 1986年 - IBM開發了第一個關係數據庫原型並由ANSI標準化,第一個關係數據庫由Relational Software發佈,後來被稱爲:Oracle。
- 1978年 - IBM致力於開發Codd的想法,併發布了一款名爲System/R的產品。
- 1974年 - 出現了結構化查詢語言。
- 1970年 - IBM的Dr. Edgar F. 「Ted」 Codd 博士是關係數據庫的之父,他第一個描述了數據庫的關係模型。
4. SQL處理
當RDBMS執行SQL命令時,系統會確定執行請求的最佳方式,而SQL引擎會確定如何解析任務。
此過程中包含各種組件。這些組件是 -
- 查詢調度程序
- 優化引擎
- 經典查詢引擎
- SQL查詢引擎等
經典查詢引擎處理所有非SQL查詢,但SQL查詢引擎不處理邏輯文件。
以下是SQL體系結構的圖示 -
5. SQL命令
與關係數據庫交互的標準SQL命令是:CREATE
,SELECT
,INSERT
,UPDATE
,DELETE
和DROP
。 這些命令可根據其性質分爲以下幾組:
5.1. DDL - 數據定義語言
序號
命令
描述
1
CREATE
用於在數據庫中創建新表,表視圖或其他對象。
2
ALTER
用於修改現有數據庫對象,例如:表。
3
DROP
用於刪除整個表,數據庫中的表或其他對象的視圖。
5.2. DML - 數據操縱語言
序號
命令
描述
1
SELECT
從一個或多個表中檢索某些記錄。
2
INSERT
創建一條記錄。
3
UPDATE
用於修改(更新)記錄。
4
DELETE
刪除記錄。
5.3. DCL - 數據控制語言
序號
命令
描述
1
GRANT
爲用戶提供權限。
2
REVOKE
撤銷用戶授予的權限。