1. 程式人生 > >第三章 關係資料庫標準語言SQL

第三章 關係資料庫標準語言SQL

1:SQL的特點

可以獨立完成資料庫生命週期中的全部活動:

①:定義和修改、刪除關係模式,定義和刪除檢視,插入資料,建立資料庫

②:對資料庫中的資料進行查詢和更新

③:資料庫重構和維護

④:資料庫安全性、完整性控制,以及事務控制

2:SQL的動詞

SQL 功  能

動詞

數 據 查 詢

SELECT

數 據 定 義

CREATE,DROP,ALTER

數 據 操 縱

INSERT,UPDATE,DELETE

數 據 控 制

GRANT,REVOKE

3:學生-課程模式 S-T :    

學生表:Student(Sno,Sname,Ssex,Sage,Sdept)

課程表:Course(Cno,Cname,Cpno,Ccredit)

學生選課表:SC(Sno,Cno,Grade)

4:SQL的資料定義功能:

模式定義  表定義  檢視和索引的定義

5: SQL的資料定義語句

操 作 對 象

操  作  方  式

創  建

刪  除

修  改

模式

CREATE SCHEMA

DROP SCHEMA

CREATE TABLE

DROP TABLE

ALTER TABLE

檢視

CREATE VIEW

DROP VIEW

索引

CREATE INDEX

DROP INDEX

ALTER INDEX

6:定義模式

為使用者WANG定義一個學生-課程模式S-T

   CREATE SCHEMA “S-T” AUTHORIZATION WANG

7:在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句

CREATE SCHEMA <模式名> AUTHORIZATION <使用者名稱>[<表定義子句>|<檢視定義子句>|<授權定義子句>]

8:刪除模式:

DROP SCHEMA <模式名> <CASCADE|RESTRICT>

CASCADE(級聯)

刪除模式的同時把該模式中所有的資料庫物件全部刪除。

RESTRICT(限制)

如果該模式中定義了下屬的資料庫物件(如表、檢視等),則拒絕該刪除語句的執行。

僅當該模式中沒有任何下屬的物件時才能執行。

資料型別

含義

CHAR(n),CHARACTER(n)

長度為n的定長字串

VARCHAR(n), CHARACTERVARYING(n)

最大長度為n的變長字串

CLOB

字串大物件

BLOB

二進位制大物件

INT,INTEGER

長整數(4位元組)

SMALLINT

短整數(2位元組)

BIGINT

大整數(8位元組)

NUMERIC(pd)

定點數,由p位數字(不包括符號、小數點)組成,小數後面有d位數字

DECIMAL(pd), DEC(pd)

同NUMERIC

REAL

取決於機器精度的單精度浮點數

DOUBLE PRECISION

取決於機器精度的雙精度浮點數

FLOAT(n)

可選精度的浮點數,精度至少為n位數字

BOOLEAN

邏輯布林量

DATE

日期,包含年、月、日,格式為YYYY-MM-DD

TIME

時間,包含一日的時、分、秒,格式為HH:MM:SS

TIMESTAMP

時間戳型別

INTERVAL

時間間隔型別

9:修改基本表

ALTER TABLE <表名>

[ ADD[COLUMN] <新列名> <資料型別> [ 完整性約束 ] ]

[ ADD <表級完整性約束>]

[ DROP [ COLUMN ] <列名> [CASCADE| RESTRICT] ]

[ DROP CONSTRAINT<完整性約束名>[ RESTRICT | CASCADE ] ]

[ALTER COLUMN <列名><資料型別> ]

ADD子句用於增加新列、新的列級完整性約束條件和新的表級完整性約束條件。

DROP COLUMN子句用於刪除表中的列

DROP CONSTRAINT子句用於刪除指定的完整性約束條件

ALTER COLUMN子句用於修改原有的列定義,包括修改列名和資料型別

10:刪除基本表

DROP TABLE <表名>[RESTRICT| CASCADE]

RESTRICT:刪除表是有限制的

CASCADE:刪除該表沒有限制

11:索引的建立與刪除

建立索引的目的:加快查詢速度

特點:B+樹索引具有動態平衡的優點

HASH索引具有查詢速度快的特點

12:資料字典

資料字典是關係資料庫管理系統內部的一組系統表,它記錄了資料庫中所有定義資訊:關係模式定義  檢視定義  索引定義 完整性約束定義  各類使用者對資料庫的操作許可權 統計資訊等

13:語句格式

 SELECT [ALL|DISTINCT] <目標列表達式>[,<目標列表達式>] …

FROM <表名或檢視名>[,<表名或檢視名> ]…|(SELECT 語句)      

 [AS]<別名>

[ WHERE <條件表示式> ]

[ GROUP BY <列名1> [ HAVING <條件表示式> ] ]

[ ORDER BY <列名2> [ ASC|DESC ] ]

14:SELECT子句:指定要顯示的屬性列

FROM子句:指定查詢物件(基本表或檢視)

WHERE子句:指定查詢條件

GROUP BY子句:對查詢結果按指定列的值分組,該屬性列值相等的元組為一個組。通常會在每組中作用聚集函式。

HAVING短語:只有滿足指定條件的組才予以輸出

ORDER BY子句:對查詢結果表按指定列值的升序或降序排序