- SQL語言從入門到精通
- 明日科技編著
- 1324字
- 2024-12-27 22:16:34
1.1 SQL語言概述
1.1.1 SQL概述
SQL(Structured Query Language結構化查詢語言)語言在1974年由Boyce和Chamberlin提出。1975—1979年,IBM公司San Jose Research Laboratory研制的關系數據庫管理系統(原形系統System R)實現了這種語言。
SQL是一種組織、管理和檢索計算機數據庫存儲數據的工具。SQL是一種計算機語言,可以用來與數據庫交互。事實上,SQL使用的是一種特殊類型的數據庫,即關系數據庫。
SQL本身不是一個數據庫管理系統,也不是一個獨立的產品,而是數據庫管理系統不可缺少的組成部分,它是與DBMS通信的一種語言和工具。由于其功能豐富,語言簡潔,使用方法靈活,因此倍受用戶和計算機業界的青睞,被眾多計算機公司和軟件公司采用。經過多年的發展,SQL語言已成為關系數據庫的標準語言。
1.1.2 SQL語言的組成
SQL語言是具有強大查詢功能的數據庫語言。除此以外,SQL還可以控制DBMS為其用戶提供的所有功能,介紹如下。
數據定義語言(DDL,Data Definition Language):SQL允許用戶定義存儲數據的結構和組織,以及存儲數據項之間的關系。
數據檢索語言:SQL允許用戶或應用程序從數據庫中檢索存儲的數據并使用它。
數據操縱語言(DML,Data Manipulation Language):SQL允許用戶或應用程序通過添加新數據、刪除舊數據和修改以前存儲的數據對數據庫進行更新。
數據控制語言(DCL,Data Control Language):可以使用SQL來限制用戶檢索、添加和修改數據的能力,保護存儲的數據不被未授權的用戶所訪問。
數據共享:可以使用SQL來協調多個并發用戶共享數據,確保用戶不會相互干擾。
數據完整性:SQL在數據庫中定義完整性約束條件,使它不會因不一致的更新或系統失敗而遭到破壞。
因此,SQL是一種綜合性語言,用來控制數據庫并與數據庫管理系統進行交互。SQL是數據庫子語言,包含大約40條專用于數據庫管理任務的語句。
數據操作類SQL語句如表1.1所示。
表1.1 數據操作類SQL語句

數據定義類SQL語句如表1.2所示。
表1.2 數據定義類SQL語句

數據控制類SQL語句如表1.3所示。
表1.3 數據控制類SQL語句

事務控制類SQL語句如表1.4所示。
表1.4 事務控制類SQL語句

程序化SQL語句如表1.5所示。
表1.5 程序化SQL語句

1.1.3 SQL語句結構
每條SQL語句均由一個謂詞(Verb)開始,該謂詞描述這條語句要產生的動作,如SELECT或UPDATE關鍵字。謂詞后緊接著一條或多條子句(Clause),子句中給出了被謂詞作用的數據或提供謂詞動作的詳細信息。每一條子句由一個關鍵字開始,SELECT謂詞后為FROM關鍵字。下面介紹SELECT語句的主要結構。語法格式如下:
SELECT 子句 [INTO 子句] FROM 子句 [WHERE 子句] [GROUP BY 子句] [HAVING 子句] [ORDER BY 子句]
【例1.1】 在db_mrsql數據庫中,使用SELECT關鍵字查詢藥品銷售表tb_sell,并且使用ORDER BY關鍵字按照“藥品編號”的降序排列來顯示該表中的相關信息。運行結果如圖1.1所示。(實例位置:資源包\TM\sl\1\1)
SQL語句如下:
--使用SELECT關鍵字查詢藥品銷售表tb_sell,并且使用order by關鍵字按照“藥品編號”的降序排列顯示該表中的相關信息 SELECT * FROM tb_sell ORDER BY 藥品編號 DESC

圖1.1 查詢藥品銷售表中的信息
1.1.4 SQL語句分類
SQL語句分為7類,具體如下。
變量說明語句:用來說明變量的命令。
數據定義語言:用來建立數據庫、數據庫對象和定義列。大部分是以CREATE或DROP開頭的命令,如CREATE TABLE、CREATE VIEW和DROP TABLE等。
數據操縱語言:用來操縱數據庫中數據的命令,如SELECT、INSERT、UPDATE和DELETE等。
數據控制語言:用來控制數據庫組件的存取許可、存取權限等命令,如GRANT、REVOKE等。
流程控制語言:用于控制應用程序流程的語句,如IF WHILE和CASE等。
內嵌函數:說明變量的命令。
其他命令:嵌于命令中使用的標準函數。