學習本文後應熟悉和掌握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/,如需轉載,請註明出處,否則將追究法律責任。