概覽

2018-08-12 22:09 更新

SQL 概覽

SQL 指南給你學(xué)習(xí)結(jié)構(gòu)化查詢語(yǔ)言的歷程帶來(lái)獨(dú)特的體驗(yàn),它能夠幫助你交互地學(xué)習(xí) SQL 命令。SQL 是一種數(shù)據(jù)庫(kù)語(yǔ)言,能夠完成數(shù)據(jù)庫(kù)的創(chuàng)建、刪除,取回或者修改其中的數(shù)據(jù)等工作。

SQL 是一個(gè) ANSI(American National Standard Institute,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))標(biāo)準(zhǔn)。不過(guò),SQL 語(yǔ)言有很多不同的版本存在。

什么是 SQL?

SQL 是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language),一種用于存儲(chǔ)、操作或者檢索存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)的計(jì)算機(jī)語(yǔ)言。

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

當(dāng)然,它們用的都是不同的 SQL 方言。例如:

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

為什么要用 SQL?

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

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

SQL 流程

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

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

下面這張圖片簡(jiǎn)要說(shuō)明了 SQL 的架構(gòu):

SQL Architecture

SQL 命令

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

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

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)