概覽

2018-08-12 22:09 更新

SQL 概覽

SQL 指南給你學習結構化查詢語言的歷程帶來獨特的體驗,它能夠幫助你交互地學習 SQL 命令。SQL 是一種數(shù)據(jù)庫語言,能夠完成數(shù)據(jù)庫的創(chuàng)建、刪除,取回或者修改其中的數(shù)據(jù)等工作。

SQL 是一個 ANSI(American National Standard Institute,美國國家標準協(xié)會)標準。不過,SQL 語言有很多不同的版本存在。

什么是 SQL?

SQL 是結構化查詢語言(Structured Query Language),一種用于存儲、操作或者檢索存儲在關系型數(shù)據(jù)庫中數(shù)據(jù)的計算機語言。

SQL 是關系型數(shù)據(jù)庫系統(tǒng)(Relation Database System)的標準語言。所有的關系型數(shù)據(jù)庫管理系統(tǒng),例如 MySQL、MS Access、Oracle、Sybase、Informix、Postgres SQL 和 SQL Server,都使用 SQL 作為其標準數(shù)據(jù)庫語言。

當然,它們用的都是不同的 SQL 方言。例如:

  • 微軟的 SQL Server 使用的是 T-SQL
  • Oracle 使用的是 PL/SQL
  • 微軟的 Access 中的 SQL 叫做 JET SQL (本地格式)等等

為什么要用 SQL?

  • 允許用戶訪問關系型數(shù)據(jù)庫中的數(shù)據(jù)
  • 允許用戶對數(shù)據(jù)做出描述
  • 允許用于定義數(shù)據(jù)庫中的數(shù)據(jù),并對其進行操作
  • 允許通過 SQL 模塊、庫或者預編譯器的等方式,嵌入到其他語言中
  • 允許用戶創(chuàng)建或刪除數(shù)據(jù)庫和表
  • 允許用戶在數(shù)據(jù)庫中創(chuàng)建視圖、存儲過程和函數(shù)
  • 允許用戶對表、過程和視圖設進行權限設置

史?;仨?/h2>
  • 1970 年,IBM 的埃德加·科德博士提出了一種數(shù)據(jù)庫關系模型,他因此被稱作關系型數(shù)據(jù)庫之父。
  • 1974 年,結構化查詢語言面世。
  • 1978 年,IBM 對 Codd 提出的概念進行了深入研究,并發(fā)布了一款名為 System/R 的產(chǎn)品。
  • 1986 年,IBM 開發(fā)出了第一個關系型數(shù)據(jù)庫原型,該原型隨后被 ANSI 接納并進行了標準化工作。Relational Software——Oracle 的前身——發(fā)布了第一款商業(yè)關系型數(shù)據(jù)庫產(chǎn)品。

SQL 流程

在任何一種 RDBMS 上執(zhí)行 SQL 命令,數(shù)據(jù)庫管理系統(tǒng)都會判斷出執(zhí)行請求的最佳方式,并由 SQL 引擎推算出具體如何完成任務。

這一流程涉及到了各種各樣的組件,包括查詢調(diào)度器(Query Dispatcher)、優(yōu)化引擎(Optimization Engines)、經(jīng)典查詢引擎(Classic Query Engine)和 SQL 查詢引擎(SQL Query Engine)等等。經(jīng)典查詢引擎用于處理所有的非 SQL 查詢,而 SQL 查詢引擎則不處理邏輯文件。

下面這張圖片簡要說明了 SQL 的架構:

SQL Architecture

SQL 命令

用于與關系型數(shù)據(jù)庫交互的標準 SQL 命令有 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP,這些命令按用途分成如下幾組:

數(shù)據(jù)定義語言

命令 描述
CREATE 創(chuàng)建新的表、視圖或者其他數(shù)據(jù)庫中的對象
ALTER 修改現(xiàn)存數(shù)據(jù)庫對象,比如一張表
DROP 刪除表、視圖或者數(shù)據(jù)庫中的其他對象

數(shù)據(jù)操縱語言

命令 描述
SELECT 從一張或者多張表中檢索特定的數(shù)據(jù)
INSERT 創(chuàng)建一條新記錄
UPDATE 修改記錄
DELETE 刪除記錄

數(shù)據(jù)控制語言

命令 描述
GRANT 賦予用戶特權
REVOKE 收回賦予用戶的特權
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號