




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、名以清修 利以義制 績以勤勉 匯通天下,李安平,新晉商理念,2020/9/10,歡迎你向我提問!,如果你在學習 中遇到問題,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,薛東平,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,結(jié)構(gòu)化查詢語言-SQL,基本操作: 1 SQL簡介 2 數(shù)據(jù)定義命令 3 數(shù)據(jù)操縱命令 4 數(shù)據(jù)控制命令 5 視圖,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,結(jié)構(gòu)化查詢語言-SQL,結(jié)構(gòu)化
2、操作: 6 過程化SQL(PL/SQL) 7 嵌入式SQL和動態(tài)SQL 8 SQL中的復雜完整性約束 9 小結(jié),2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,結(jié)構(gòu)化查詢語言SQL(Structured Query Language)是一種面向集合的數(shù)據(jù)庫查詢語言 。 SQL(Structured Query Language)集數(shù)據(jù)查詢(Data Query)、數(shù)據(jù)操縱(Data Manipulation)、數(shù)據(jù)定義(Data Definition)和數(shù)據(jù)控制(Data Control)于一體。,2020/9/10,數(shù)據(jù)庫原理
3、與應用,Principle and Application of DataBase,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,結(jié)構(gòu)化查詢語言-SQL,基本操作: 1 SQL簡介 2 數(shù)據(jù)定義命令 3 數(shù)據(jù)操縱命令 4 數(shù)據(jù)控制命令 5 視圖,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL發(fā)展,1974年,在IBM圣約瑟實驗室的Boyce和Chamberlin在研制System R時提出了在其上要實現(xiàn)一種查詢語言,當時稱為SEQUEL語言(Struct
4、ured English Query Language),后簡稱為SQL。 SQL從IBM公司提出經(jīng)過了System R實現(xiàn)研制的過程,又經(jīng)過商用的SQL/DS產(chǎn)品研制,以及后來向DB2產(chǎn)品的進一步開發(fā)演變。還有Oracle公司以SQL為目標,持續(xù)開發(fā)其升級的產(chǎn)品。此外還有其它許多公司、科研機構(gòu)對SQL的研究做出了貢獻。,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,1986年12月,ANSI公布了SQL語言標準 。第二年,ISO/IEC接受并公布它為ISO/IEC 9075:1986信息處理系統(tǒng)-數(shù)據(jù)庫語言SQL,即SQL的
5、第一個國際標準版本,稱為SQL/86。 89年,ISO/IEC又通過并正式公布了第二個版本ISO/IEC 9075:1989信息處理系統(tǒng)-數(shù)據(jù)庫語言具有完整性增強特征的SQL,對SQL/86進行更新,稱為SQL/89 。 我國89年提出制訂了等同采用SQL/89國家標準的關(guān)系數(shù)據(jù)庫語言SQL國家標準 。,SQL發(fā)展,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,1992年,制定了ISO/IEC 9075:1992信息技術(shù)-數(shù)據(jù)庫語言SQL,其文本長達622頁,約是SQL/89文本的5倍,即,SQL/92標準。 SQL/99標準
6、是在92年SQL92公布前后就開始進行研究的所謂SQL3。 SQL/99規(guī)定的功能完全向上兼容,是SQL/92的超集。 SQL/框架、SQL/基礎(chǔ)、SQL/調(diào)用級接口(SQL/CLI)、SQL/特久存儲模塊(SQL/PSM)、SQL/宿主語言聯(lián),五個部分的文本共有1300多頁,SQL發(fā)展,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL200n標準在對SQL99原內(nèi)容作出一定調(diào)整增刪后,又增添了很多新的特性,反應了新的需求和數(shù)據(jù)庫管理系統(tǒng)的發(fā)展方向。與SQL99相比SQL200n標準中的新特性主要有:增添了新的數(shù)據(jù)類型,主
7、要是集合類型;增加了新的謂詞和操作函數(shù);增加了新的語義單元,主要包括:歸并(Merge Statement)、OLAP表采樣(TableSample)、產(chǎn)生列、標識列和序列產(chǎn)生器等。,SQL發(fā)展,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL體系結(jié)構(gòu),2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,外模式對應于視圖和部分基本表,模式對應于基本表,元組稱為“行”,屬性稱為“列”。內(nèi)模式對應于存儲文件。特征如下: 一個SQL模式(Schema)是表和約束的集合
8、。 一個表(Table)是行(Row)的集合,每行是列(Column)的序 列,每列對應一個數(shù)據(jù)項。 個表可以是一個基本表,也可以是一個視圖,基本表是實 際存儲在數(shù)據(jù)庫中的表,視圖是一個虛表。 一個基本表可以跨一個或多個存儲文件,一個存儲文件也可 存放一個或多個基本表 。,SQL體系結(jié)構(gòu),2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL語言主要分成四個部分: 數(shù)據(jù)定義:這一部分也稱為“DDL”,用于定義SQL模式、基本表、視圖和索引。 數(shù)據(jù)操縱:這一部分也稱為“DML”,數(shù)據(jù)操縱分成數(shù)據(jù)查詢和數(shù)據(jù)更新兩類,其中數(shù)據(jù)更新又分
9、成插入、刪除和修改三種操作。 數(shù)據(jù)控制:這一部分也稱為“DCL”,包括對基本表和視圖的授權(quán),完整性規(guī)則的描述,事務控制語句等。 嵌入式SQL:這一部分內(nèi)容涉及到SQL語句嵌入在宿主語言程序中的使用規(guī)則。,SQL體系結(jié)構(gòu),2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL特點,SQL語言的特點: 1.集DDL、DML、DCL于一體 SQL語言集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風格統(tǒng)一,可以獨立完成數(shù)據(jù)庫生命周期中的全部活動 。 2.高度非過程化 SQL語言進行數(shù)據(jù)操作,用戶只需提出“
10、做什么”,而不必指明“怎么做”,用戶無需了解存取路徑 。 3.面向集合的操作方式 集合操作,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SQL語言的特點: 4.一種語法提供兩種操作方式 交互式操作 嵌入式操作 5. 功能強大、語言簡潔 設計巧妙,語言十分簡潔 ,核心功能只用了9個動詞:CREATE、DROP、ALTER、SELECT、INSERT、UPDATE、DELETE、GRANT、REVOKE,SQL特點,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,
11、結(jié)構(gòu)化查詢語言-SQL,基本操作: 1 SQL簡介 2 數(shù)據(jù)定義命令 3 數(shù)據(jù)操縱命令 4 數(shù)據(jù)控制命令 5 視圖,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)定義命令,數(shù)據(jù)庫結(jié)構(gòu)的建立與刪除 建立 CREATE SCHEMA 數(shù)據(jù)庫名 AUTHORIZATION ; 舉例:創(chuàng)建教師和研究生的科研檔案的數(shù)據(jù)庫結(jié)構(gòu)(scientific_research ),并授權(quán)給用戶user1。 CREATE SCHEMA “scientific_research ” AUTHORIZATION user1 ;,2020/9/10,數(shù)
12、據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)庫結(jié)構(gòu)的建立與刪除 刪除 DROP SCHEMA ; CASCADE表示在刪除數(shù)據(jù)庫結(jié)構(gòu)的同時刪除數(shù)據(jù)庫中所有的對象(表、視圖等); RESTRICT表示只有當數(shù)據(jù)庫中沒有任何下屬的對象時才能執(zhí)行DROP SCHEMA語句。 舉例:刪除數(shù)據(jù)庫“scientific_research ”,要求連同其下屬對象一起刪除。 DROP SCHEMA scientific_research CASCADE;,數(shù)據(jù)定義命令,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application
13、of DataBase,數(shù)據(jù)定義命令,表結(jié)構(gòu)的建立、刪除與修改 建立表 CREATE TABLE 表名( 屬性1 數(shù)據(jù)類型 缺省值,列約束, 屬性2 數(shù)據(jù)類型 缺省值,列約束, 屬性n 數(shù)據(jù)類型缺省值,列約束 ,表級完整性約束條件);,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,說明: 表級完整性約束條件是對整個表的完整性約束,常用的是外碼的設置,語句: FOREIGN KEY (外碼屬性組) REFERENCES 被參照表名(被參照列)。,數(shù)據(jù)定義命令,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Ap
14、plication of DataBase,舉例1:建立教師和研究生科研檔案數(shù)據(jù)庫中的教師信息表teacher。,CREATE TABLE teacher( tno CHAR(9) PRIMARY KEY, tname CHAR (8), tsex CHAR (2),tage INTEGER, tbirth DATE, twork DATE, tposition CHAR (6), tpolit CHAR (6), tedu CHAR (6);,數(shù)據(jù)定義命令,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,舉例2:建立教師和研究
15、生科研檔案數(shù)據(jù)庫中的論文信息表paper。,數(shù)據(jù)定義命令,CREATE TABLE paper( pno char(6) primary key, pname char(40), plevel char(10), ppub char(20), pdate date, pdept char(20);,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)定義命令,舉例3:建立論文信息表和教師信息表之間的聯(lián)系表 (發(fā)表)tprole1,CREATE TABLE tprole1( tno CHAR(9) NOT NULL, pno CH
16、AR (6) NOT NULL, ratepoint NUMBER(6,2), ppoint SMALLINT, norder SMALLINT);,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)類型,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)類型,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,表結(jié)構(gòu)的建立、刪除與修改 刪除表 DROP TABLE 表名 RESTRICT | CA
17、SCADE; CASCADE ,DROP TABLE命令將從數(shù)據(jù)庫中刪除指定表的所有信息,包括依賴于該基本表的視圖、觸發(fā)器、存儲過程、函數(shù)等相關(guān)對象;如果選擇選項RESTRICT或缺省,則不允許存在任何依賴于該基本表的相關(guān)對象(視圖、觸發(fā)器、存儲過程、函數(shù)等),否則DROP TABLE命令將被拒絕。,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,舉例:刪除教師研究生的科研檔案數(shù)據(jù)庫中的論文信息表paper。 DROP TABLE paper;,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and
18、 Application of DataBase,表結(jié)構(gòu)的建立、刪除與修改 修改表,修改屬性的數(shù)據(jù)類型 增加屬性列 刪除屬性列 增加和刪除完整性約束條件 (唯一性、主鍵、外鍵),數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,1修改屬性的數(shù)據(jù)類型 ALTER TABLE MODIFY (屬性名 數(shù)據(jù)類型名); 舉例:修改teacher表(教師信息表)的屬性列tage(年齡)的數(shù)據(jù)類型,由原來的integer修改為smallint類型。 ALTER TABLE teacher MODIFY tage SMALLINT;
19、2 增加屬性列 ALTER TABLE ADD 完整性約束條件; 舉例:在paper表(論文信息表)中增加“作者姓名”屬性列,數(shù)據(jù)類型設置為字符型。 ALTER TABLE paper ADD author char(10);,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,3刪除屬性列 ALTER TABLE DROP COLUMN ; 舉例: 刪除paper表(論文信息表)中的author屬性。 ALTER TABLE paperDROP COLUMN author; 4 增加主鍵和外鍵、唯一性約束 (PRIMAR
20、Y KEY FOREIGN KEY UNIQUE) ALTER TABLE ADD ; 舉例:假設在創(chuàng)建paper表時沒有定義主鍵,現(xiàn)要求將pno(論文編號)設置為主鍵。 ALTER TABLE paperADD PRIMARY KEY(pno);,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,舉例:增加外碼鍵。 alter table tprole1 add FOREIGN KEY(pno) REFERENCES paper(pno); 舉例:刪除屬性的唯一性約束。 alter table paper drop u
21、nique(pname);,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)定義,索引的建立和刪除 建立索引,CREATE UNIQUE/CLUSTER INDEX ON ( ASC/DESC , ASC/DESC); 舉例:在教師信息表(teacher)上按姓名(tname)降序建立唯一索引。 CREATE UNIQUE INDEX teano ON teacher(tname DESC);,在許多DBMS中, 如果創(chuàng)建表結(jié)構(gòu)時建立了主鍵, 系統(tǒng)將自動以主鍵升序建立唯一索引,2020/9/10,數(shù)據(jù)庫原理與應用,
22、Principle and Application of DataBase,索引的建立和刪除 刪除索引 DROP INDEX ;,數(shù)據(jù)定義,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,結(jié)構(gòu)化查詢語言-SQL,基本操作: 1 SQL簡介 2 數(shù)據(jù)定義命令 3 數(shù)據(jù)操縱命令 4 數(shù)據(jù)控制命令 5 視圖,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,數(shù)據(jù)輸入(INSERT) 輸入新數(shù)據(jù) INSERT INTO (屬性列表) VALUES(); 舉例: 向
23、教師信息表中插入教師“李麗”的信息。,INSERT INTO teacher VALUES(200305313, 李麗, 女,35, TO_DATE(1971-01-25, yyyy/mm/dd), TO_DATE(1994-07-01, yyyy/mm/dd), 副教授, 農(nóng)工, 碩士);,注意:數(shù)據(jù)類型、屬性列的一致性,完整性約束,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,數(shù)據(jù)輸入(INSERT) 輸入查詢結(jié)果 INSERT INTO () SELECT查詢;,將一次查詢結(jié)果的數(shù)據(jù)成批插入到指定表中,舉例:從
24、論文信息表paper中復制論文編號(pno)、論文名稱(pname)和論文出版刊物(ppub)到新表p_temp中,要求只復制論文級別為“國家核心”的那部分數(shù)據(jù)信息。,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,首先建立表p_temp: CREATE TABLE p_temp( pno char(6) not null primary key, pname char(40), ppub char(20);,數(shù)據(jù)操縱,將paper表中相應的列值復制到新建的p_temp表中: INSERT INTO p_temp SELECT
25、pno,pname,ppub FROM paper WHERE plevel=國家核心;,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,數(shù)據(jù)更新(UPDATE) UPDATE SET =,= WHERE ;,UPDATE命令用提供的常量或表達式計算結(jié)果替代屬性現(xiàn)有值,來更新由WHERE條件所決定的行中若干屬性列的值,當命令中缺省WHERE子句時將更新所有元組。,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,舉例:將教師“李麗”的職稱修改為“
26、教授”。 UPDATE teacher SET tposition= 教授 WHERE tname= 李麗;,舉例:將所有教師的年齡增加1歲。 UPDATE teacher SET tage=tage+1;,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,數(shù)據(jù)刪除(DELETE) DELETE FROM WHERE ;,DELETE命令將刪除指定條件下的所有元組,當缺省WHERE條件子句時將刪除指定表中的所有元組。,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of Data
27、Base,數(shù)據(jù)操縱,舉例:從教師信息表teacher中刪除編號為“200305310”的教師信息。 DELETE FROM teacher WHERE tno= 200305310;,舉例:從論文信息表paper中刪除2000年以前發(fā)表的論文信息。 DELETE FROM paper WHERE pdateTO_DATE(2000-1, yyyy/mm);,在ORACLE環(huán)境下驗證的,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,舉例:從教師信息表teacher中刪除編號為“200305310”的教師信息。 DELE
28、TE FROM teacher WHERE tno= 200305310;,舉例:刪除全部。 DELETE FROM teacher;,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,數(shù)據(jù)保存(COMMIT) COMMIT;,保證對表的內(nèi)容的修改被物理地存儲在磁盤上,恢復數(shù)據(jù)(ROLLBACK) ROLLBACK ;,COMMIT前,可以用ROLLBACK命令將數(shù)據(jù)庫恢復到前一狀態(tài),保證數(shù)據(jù)庫更新的完整性,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,
29、數(shù)據(jù)操縱,查詢(SELECT),簡單查詢 復雜查詢 多表查詢 嵌套子查詢 集合查詢,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,查詢(SELECT) 簡單查詢,SELECT DISTINCT|ALL FROM WHERE GROUP BY HAVING ORDER BY ASC|DESC;,SELECT命令從FROM指定的表中檢索出符合WHERE子句中指定條件的所有元組,所有列,重復行,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,數(shù)據(jù)操縱,舉例:從教師信息表teacher中查詢所有教師的編號、姓名和職稱。 SELECT tno,tname,tposition FROM teacher;,舉例:列出所有論文信息記錄。 SELECT * FROM paper;,舉例:查找論文信息表中登記過的所有論文級別,消除重復行。 SELECT DISTINCT plevel FROM paper;,2020/9/10,數(shù)據(jù)庫原理與應用,Principle and Application of DataBase,SELECT DISTINCT|ALL FROM WHERE GROUP BY HAVING ORDER BY ASC|DESC;,數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智慧城市股份代持與城市信息化建設協(xié)議
- 二零二五年度商業(yè)廣場臨時聘用保安及監(jiān)控設備安裝合同
- 2025年度倉儲與裝卸搬運一體化管理服務協(xié)議
- 2025年度企業(yè)員工培訓合同及勞動合同示范文本
- 肝硬化病人護理評估
- 全過程工程咨詢服務模式下的房屋建筑類EPC項目績效評價研究
- 結(jié)合體驗式教學的高中物理整體性情境教學模式研究
- 2025年模壓成型設備合作協(xié)議書
- 青藏高原南部雄曲MIS 3時期古洪水事件研究
- SW公司財務共享建設及其效用分析
- 口腔醫(yī)院市場營銷新入職員工培訓
- 軍隊文職備考(面試)近年考試真題(參考300題)
- 金融業(yè)稅收優(yōu)惠政策指引
- 乳腺癌課件教學課件
- 葉圣陶杯作文
- 腦梗死臨床表現(xiàn)護理
- 新高考英語|語法專項之括號法突破長難句 講解課件-2025屆高三英語上學期一輪復習專項
- 《光通信技術(shù)簡介》課件
- 山西省2024年中考物理試題(含答案)
- 電子商務平臺供貨方案及風險控制措施
- 文獻檢索與利用
評論
0/150
提交評論