官术网_书友最值得收藏!

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等。

 內嵌函數:說明變量的命令。

 其他命令:嵌于命令中使用的標準函數。

主站蜘蛛池模板: 九龙城区| 恩平市| 禹城市| 安福县| 嘉黎县| 江阴市| 新泰市| 恩平市| 龙海市| 临泽县| 彭水| 连云港市| 莆田市| 南安市| 安远县| 尉氏县| 涪陵区| 宜州市| 绵竹市| 石屏县| 车险| 嘉峪关市| 新疆| 横山县| 佛学| 巴马| 南雄市| 濉溪县| 乌鲁木齐县| 辛集市| 江川县| 伊川县| 广元市| 北辰区| 连城县| 蒲江县| 志丹县| 巴青县| 南投市| 上蔡县| 汉川市|