關聯式資料庫SQL語言略解

risingsunczl發表於2009-05-04
學習本文後應熟悉和掌握SQL的資料定義、資料查詢、資料更新的句法及其應用,特別是資料查詢的應用。結合上機操作進行理解和掌握[@more@]
關聯式資料庫SQL語言略解
  學習本文後應熟悉和掌握SQL的資料定義、資料查詢、資料更新的句法及其應用,特別是資料查詢的應用。結合上機操作進行理解和掌握。

一、SQL概述。

1、SQL發展歷程( 識記 )

  SQL從1970年美國IBM研究中心的E.F.Codd發表論文到1974年Boyce和Chamberlin把SQUARE語言改為SEQUEL語言,到現在還在不斷完善和發展之中,SQL(結構式查詢語言)雖然名為查詢,但實際上具有定義、查詢、更新和控制等多種功能。

2、SQL資料庫的體系結構( 領會 )

  SQL資料庫的體系結構也是三級結構 ,但術語與傳統關係模型術語不同,在SQL中,關係模式稱為" 基本表 ",儲存模式稱為" 儲存檔案 ",子模式稱為" 檢視 ",元組稱" 行 ",屬性稱" 列 "。

SQL資料庫體系的結構要點如下:

  (1)一個SQL資料庫是表的彙集。

  (2)一個SQL表由行集構成,行是列的序列,每列對應一個資料項。

  (3)表或者是基本表,或者是檢視。基本表是實際儲存在資料庫中的表,檢視由是由若干基本表或其他檢視構成的表的定義。

  (4)一個基本表可以跨一個或多個儲存檔案,一個儲存檔案也可存放一個或多個基本表。儲存檔案與物理檔案對應。

  (5)使用者可以用SQL語句對錶進行操作,包括檢視和基本表。

  (6)SQL的使用者可以是應用程式,也可以是終端使用者。

3、SQL的組成( 識記 )

SQL由四部分組成:

  (1)資料定義:SQL DDL。定義SQL模式,基本表、檢視和索引。

  (2)資料操縱:SQL DML。包括資料查詢和資料更新(增、刪、改)。

  (3)資料控制:包括對基本表和檢視的授權、完整性規則的描述,事務控制等。

  (4)嵌入式SQL的使用規定。

二、SQL的資料定義( 簡單應用 )

1、SQL模式的建立和撤消:

  SQL 模式的建立 可簡單理解為建立一個資料庫,定義一個儲存空間,其句法是:

CREAT SCHEMA AUTHORIZATION

  撤消SQL模式的句法為:

DROP SCHEMA [ CASCADE | RESTRICT ]

  方括號中的選項引數CASCADE表示連鎖方式,執行時將模式下所有基本表、檢視、索引等元素全部撤消。RESTRICT表示約束式,執行時必須在SQL模式中沒有任何下屬元素時方可撤消模式。

2、SQL提供的基本資料型別

  數值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)

  字串型:char(n)、varchar(n),前者是定長,後者為變長串

  位串型:bit(n),bit varying(n),同上。

  時間型:date、time。

3、基本表的建立、修改和撤消

* 基本表的建立:(可理解為建立表結構)
CREAT TABLE SQL 模式名.基本表名
(列名,型別,
……
完整性約束...)
完整性約束包括主鍵子句(PRIMARY KEY)、檢查子句(CHECK)和外來鍵子句(Foreign KEY).
* 基本表結構的修改
ALTER TABLE 基本表名 ADD/ DROP (增加/刪除) 列名 型別名(增加時寫出)
刪除時有子句 [CASCADE|RESTRICT],前者為連鎖刪除,後者為約束刪除,即沒有對本列的任何引用時才能刪除。
* 基本表的撤消
DROP TABLE 基本表名 [CASCADE|RESTRICT]

4、檢視的建立和撤消

* 建立: CREAT VIEW 檢視名(列名錶) AS SELECT 查詢語句
* 撤消: DROP VIEW 檢視名

5、索引的建立和撤消

* 建立: CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名錶 [ASC|DESC])
* 撤消: DROP INDEX 索引名

  總結:凡建立都用 CREAT ,刪除都用 DROP ,改變用 alter ,再跟型別和名字,附加子句很容易了。

三、SQL的資料查詢( 綜合應用 )

這一段是本章的重點內容,應該熟練掌握。首先了解基本句法:

1、 SELECT -FROM- WHERE 句型

* SELECT 列名錶(逗號隔開) FROM 基本表或檢視序列 WHERE 條件表示式

  在這裡,重點要掌握條件表示式中各種運算子的應用,如=,>,等算術比較運算子、邏輯運算子 AND、OR、NOT 、集合成員資格運算子: IN,NOT IN ,以及巢狀的 SELECT 語句的用法要特別注意理解。 針對課本的例題和課後習題進行掌握。

  在查詢時, SELECT 語句可以有多種寫法,如 聯接查詢、巢狀查詢和使用存在量詞的巢狀查詢 等。最好都掌握,但是起碼應能寫出一種正確的查詢語句。

2. SELECT 語句完整的句法:

* SELECT 列名錶(逗號隔開)
FROM 基本表或檢視序列
[ WHERE 條件表示式] (此為和條件子句)
[GROUP BY 列名序列] (分組子句)
[HAVING 組條件表示式] (組條件子句)
[ORDER BY列名[ASC|DESC]..] (排序子句)

這段關於完整句法的內容能夠理解也就問題不大了。

3、 SELECT 語句中的限定

  這一段內容主要是對 SELECT 語句進一步使用進行的深入學習,領會下列各種限定的使用目的和方法。

* 要求輸出表格中不出現重複元組,則在 SELECT 後加一DISTINCT
* SELECT 子句中允許出現加減乘除及列名,常數的算術表示式
* WHERE 子句中可以用BETWEEN...AND...來限定一個值的範圍
* 同一個基本表在 SELECT 語句中多次引用時可用AS來增加別名
* WHERE 子句中字串匹配用LIKE和兩個萬用字元,%和下劃線_.
* 查詢結果的結構完全一致時可將兩個查詢進行並(UNION)交(INTERSECT)差(EXCPT)操作
* 查詢空值操作不是用='null',而是用 IS NULL來測試。
* 集合成員資格比較用 IN/NOT IN ,集合成員算術比較用元組θSOME/ALL
* 可以用子查詢結果取名(表名(列名序列))來作為匯出表使用
* 基本表的自然聯接操作是用 NATURAL INNER JOIN來實現的。

四、SQL的資料更新( 簡單應用 )

簡單應用就是掌握基本的句型並能套用在一些簡單的查詢要求上。

1、資料插入:

INSERT INTO 基本表名(列名錶)
valueS (元組值)


INSERT INTO 基本表名(列名錶)
SELECT 查詢語句

其中元組值可以連續插入。用查詢語句可以按要求插入所需資料。

2、資料刪除:

DELETE FROM 基本表名 [ WHERE 條件表示式]

3、資料修改:

UPDATE 基本表名
SET 列名=值表示式,[列名=值表示式...]
[ WHERE 條件表示式]

4、對檢視的更新:

我們知道,對檢視的查詢是和基本表相同的,但是更新操作則受到下列三條規則的限制:(領會一下)

* 如果檢視是從多個基本表使用聯接操作匯出的,則不允許更新。
* 如果匯出的檢視使用了分組和聚合操作,也不允許更新。
* 如果檢視是從單個基本表使用選擇和投影操作匯出的,並且包括了基本表的主鍵或某個候選鍵,則可以執行操作。(這就相當於在基本表上操作)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/653579/viewspace-1021634/,如需轉載,請註明出處,否則將追究法律責任。

相關文章