自考《數據庫原理》串講-關系數據庫SQL語言


第三章 關系數據庫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、對視圖的更新:
我們知道,對視圖的查詢是和基本表相同的,但是更新操作則受到下列三條規則的限制:(領會一下)
如果視圖是從多個基本表使用聯接操作導出的,則不允許更新。
如果導出的視圖使用了分組和聚合操作,也不允許更新。
如果視圖是從單個基本表使用選擇和投影操作導出的,并且包括了基本表的主鍵或某個候選鍵,則可以執行操作。(這就相當于在基本表上操作)。
這一節的關于增刪改的操作要和前面關于數據庫模式、表的增刪改操作進行對比學習,以加深理解。不要忘記上機實踐 .
最新資訊
- 倒計時!2025年10月自考考前沖刺,這些資料必須有2025-09-20
- 重點收藏!2025年10月自考《中國近代史綱要》歷史事件時間點梳理2025-09-19
- 考生必看!2025年10月自考《中國近代史綱要》必背考點2025-09-19
- 重點收藏!2025年10月自考《習概(15040)》歷年高頻簡答題匯總2025-09-19
- 2025年10月自考報名全結束!后續備考要點、資源合集、考試須知一文看全2025-09-18
- 江蘇2025年10月自考時間敲定!10月25-26日,考前真題資源整理速領2025-09-18
- 10月25日開考!2025年10月自考《習概》全書高頻考點10頁紙更新速領2025-09-17
- 最后一月!2025年10月自考如何復習高效提分?附高頻考點整理2025-09-15
- 2025年10月自考教材目錄更新!這些科目已調整,附購買指南2025-09-11
- 2025年10月自考備考資料包上線!真題匯總+必背10頁紙+高頻100題2025-09-05