來源:sdau_20171819 發(fā)布時間:2018-11-21 14:35:13 閱讀量:1193
1:SQL的特點(diǎn)
可以獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動:
①:定義和修改、刪除關(guān)系模式,定義和刪除視圖,插入數(shù)據(jù),建立數(shù)據(jù)庫
②:對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢和更新
③:數(shù)據(jù)庫重構(gòu)和維護(hù)
④:數(shù)據(jù)庫安全性、完整性控制,以及事務(wù)控制
2:SQL的動詞
SQL 功 能
動詞
數(shù) 據(jù) 查 詢
SELECT
數(shù) 據(jù) 定 義
CREATE,DROP,ALTER
數(shù) 據(jù) 操 縱
INSERT,UPDATE,DELETE
數(shù) 據(jù) 控 制
GRANT,REVOKE
3:學(xué)生-課程模式 S-T :
學(xué)生表:Student(Sno,Sname,Ssex,Sage,Sdept)
課程表:Course(Cno,Cname,Cpno,Ccredit)
學(xué)生選課表:SC(Sno,Cno,Grade)
4:SQL的數(shù)據(jù)定義功能:
模式定義 表定義 視圖和索引的定義
5: SQL的數(shù)據(jù)定義語句
操 作 對 象
操 作 方 式
創(chuàng) 建
刪 除
修 改
模式
CREATE SCHEMA
DROP SCHEMA
表
CREATE TABLE
DROP TABLE
ALTER TABLE
視圖
CREATE VIEW
DROP VIEW
索引
CREATE INDEX
DROP INDEX
ALTER INDEX
6:定義模式
為用戶WANG定義一個學(xué)生-課程模式S-T
CREATE SCHEMA “S-T” AUTHORIZATION WANG
7:在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句
CREATE SCHEMA <模式名> AUTHORIZATION <用戶名>[<表定義子句>|<視圖定義子句>|<授權(quán)定義子句>]
8:刪除模式:
DROP SCHEMA <模式名> <CASCADE|RESTRICT>
CASCADE(級聯(lián))
刪除模式的同時把該模式中所有的數(shù)據(jù)庫對象全部刪除。
RESTRICT(限制)
如果該模式中定義了下屬的數(shù)據(jù)庫對象(如表、視圖等),則拒絕該刪除語句的執(zhí)行。
僅當(dāng)該模式中沒有任何下屬的對象時才能執(zhí)行。
數(shù)據(jù)類型
含義
CHAR(n),CHARACTER(n)
長度為n的定長字符串
VARCHAR(n), CHARACTERVARYING(n)
最大長度為n的變長字符串
CLOB
字符串大對象
BLOB
二進(jìn)制大對象
INT,INTEGER
長整數(shù)(4字節(jié))
SMALLINT
短整數(shù)(2字節(jié))
BIGINT
大整數(shù)(8字節(jié))
NUMERIC(p,d)
定點(diǎn)數(shù),由p位數(shù)字(不包括符號、小數(shù)點(diǎn))組成,小數(shù)后面有d位數(shù)字
DECIMAL(p, d), DEC(p, d)
同NUMERIC
REAL
取決于機(jī)器精度的單精度浮點(diǎn)數(shù)
DOUBLE PRECISION
取決于機(jī)器精度的雙精度浮點(diǎn)數(shù)
FLOAT(n)
可選精度的浮點(diǎn)數(shù),精度至少為n位數(shù)字
BOOLEAN
邏輯布爾量
DATE
日期,包含年、月、日,格式為YYYY-MM-DD
TIME
時間,包含一日的時、分、秒,格式為HH:MM:SS
TIMESTAMP
時間戳類型
INTERVAL
時間間隔類型
9:修改基本表
ALTER TABLE <表名>
[ ADD[COLUMN] <新列名> <數(shù)據(jù)類型> [ 完整性約束 ] ]
[ ADD <表級完整性約束>]
[ DROP [ COLUMN ] <列名> [CASCADE| RESTRICT] ]
[ DROP CONSTRAINT<完整性約束名>[ RESTRICT | CASCADE ] ]
[ALTER COLUMN <列名><數(shù)據(jù)類型> ]
ADD子句用于增加新列、新的列級完整性約束條件和新的表級完整性約束條件。
DROP COLUMN子句用于刪除表中的列
DROP CONSTRAINT子句用于刪除指定的完整性約束條件
ALTER COLUMN子句用于修改原有的列定義,包括修改列名和數(shù)據(jù)類型
10:刪除基本表
DROP TABLE <表名>[RESTRICT| CASCADE]
RESTRICT:刪除表是有限制的
CASCADE:刪除該表沒有限制
11:索引的建立與刪除
建立索引的目的:加快查詢速度
特點(diǎn):B+樹索引具有動態(tài)平衡的優(yōu)點(diǎn)
HASH索引具有查找速度快的特點(diǎn)
12:數(shù)據(jù)字典
數(shù)據(jù)字典是關(guān)系數(shù)據(jù)庫管理系統(tǒng)內(nèi)部的一組系統(tǒng)表,它記錄了數(shù)據(jù)庫中所有定義信息:關(guān)系模式定義 視圖定義 索引定義 完整性約束定義 各類用戶對數(shù)據(jù)庫的操作權(quán)限 統(tǒng)計信息等
13:語句格式
SELECT [ALL|DISTINCT] <目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>] …
FROM <表名或視圖名>[,<表名或視圖名> ]…|(SELECT 語句)
[AS]<別名>
[ WHERE <條件表達(dá)式> ]
[ GROUP BY <列名1> [ HAVING <條件表達(dá)式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ]
14:SELECT子句:指定要顯示的屬性列
FROM子句:指定查詢對象(基本表或視圖)
WHERE子句:指定查詢條件
GROUP BY子句:對查詢結(jié)果按指定列的值分組,該屬性列值相等的元組為一個組。通常會在每組中作用聚集函數(shù)。
HAVING短語:只有滿足指定條件的組才予以輸出
ORDER BY子句:對查詢結(jié)果表按指定列值的升序或降序排序
---------------------