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命令是:CREATESELECTINSERTUPDATEDELETEDROP。 這些命令可根據其性質分為以下幾組:

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 復原使用者授予的許可權。