




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1、第5章結(jié)構(gòu)化查詢語言(SQL),2、本章內(nèi)容,第1節(jié)SQL概述,第2節(jié)數(shù)據(jù)定義函數(shù),第3節(jié)數(shù)據(jù)操作函數(shù)和第4節(jié)數(shù)據(jù)查詢函數(shù),3、1。SQL語言的特點,1 .集成了數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)管理的功能,統(tǒng)一了語言風格。它可以獨立完成所有的數(shù)據(jù)庫操作,包括定義關(guān)系模式、輸入數(shù)據(jù)和建立數(shù)據(jù)庫、查詢、更新、維護數(shù)據(jù)、重建數(shù)據(jù)庫、數(shù)據(jù)庫安全等,為數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員提供了一個良好的環(huán)境。2高度非過程化,3面向集合的操作模式,4提供兩種具有相同語法結(jié)構(gòu)的使用模式,5語言簡潔,易于學習和使用,第1節(jié)SQL概述,4,2,SQL語言的基本概念。外部模式對應(yīng)于視圖和基表的一部分,模式對應(yīng)于基表,內(nèi)部模式對應(yīng)于
2、存儲文件?;颈硎仟毩⒋嬖诘谋怼T赟QL語言中,關(guān)系對應(yīng)于一個表。一些基本表對應(yīng)于一個存儲文件,一個表可以有多個索引,這些索引存儲在存儲文件中。存儲文件的邏輯結(jié)構(gòu)構(gòu)成了關(guān)系數(shù)據(jù)庫的內(nèi)部模式。并且存儲文件的物理文件結(jié)構(gòu)是任意的。視圖是從基本表或其他視圖導出的表,它不獨立存儲在數(shù)據(jù)庫中,也就是說,數(shù)據(jù)庫只存儲視覺的定義,而不存儲與視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍然存儲在導出視圖的基本表中,因此視圖是一個虛擬表。數(shù)據(jù)定義語言DDL用于執(zhí)行數(shù)據(jù)定義操作,如創(chuàng)建或刪除對象,如表、索引和視圖。由CREATE、DROP和ALTER命令組成,它完成數(shù)據(jù)庫對象的創(chuàng)建、刪除和更改。I .定義(創(chuàng)建)表格式創(chuàng)建表(,)完
3、整性約束為空|不為空),主鍵|唯一默認引用標記函數(shù)定義(也稱為創(chuàng)建)表。第2節(jié),數(shù)據(jù)定義函數(shù),第6節(jié),數(shù)據(jù)類型描述,第7節(jié),示例5-1創(chuàng)建一個表STUD(學生信息表),它由以下字段組成:學生編號(c,10);名稱(C,8);性別(c,2);類名(c,10);部門代碼(c,2);地址(c,50);出生日期(d);它是成員嗎(l);備注(m)。創(chuàng)建表格學習(學號C(10),姓名C(10),性別C(2),班級名稱C(10),部門代碼C(2),地址C(50),出生日期D,是否是成員L,備注M,照片G)列表結(jié)構(gòu)示例5-2創(chuàng)建表格s C(課程編號C,2)。創(chuàng)建表SC(學生標識C(10),課程標識C(2)列
4、表結(jié)構(gòu),8,示例5-3使用SQL命令建立一個“圖書館管理”數(shù)據(jù)庫,其中包含表:讀者表,作者表,圖書表和借閱表。操作步驟如下:1創(chuàng)建數(shù)據(jù)庫:創(chuàng)建數(shù)據(jù)庫庫管理2用SQL命令創(chuàng)建讀者表:CREATE TABLE讀者(讀者號c (9)不為空;主鍵,名稱C(8),性別C(2)檢查(性別=;“男性”或“性別=”女性)默認為“男性”,出生日期D,小于;民族數(shù):l,籍貫:C(10),聯(lián)系方式:C(8),照片:該命令在當前打開的圖書館管理數(shù)據(jù)庫中建立讀者表,其中讀者號為主要關(guān)鍵字,性別字段值用CHECK解釋有效性規(guī)則,性別字段的默認值設(shè)置為“男性”。,9,3。用SQL語句建立“作者”表:創(chuàng)建表作者(作者編號C(
5、2)主鍵,作者姓名(10),書名(10),聯(lián)系電話(10),備注(4)。用SQL語句創(chuàng)建一個“書”表:創(chuàng)建表書(書號C(6)不為空主鍵,作者編號c (2)不為空,標題C(14),價格N(8,2),量I,按C(18),描述:該命令在當前打開的圖書館管理數(shù)據(jù)庫中建立一個圖書表,其中圖書編號是主關(guān)鍵字,而“外鍵作者編號”表示在該表的“作者編號”字段中建立了一個公共索引,它還表示該字段是一個連接字段,該字段通過引用作者表中的主索引“作者編號”(TAG作者編號引用作者)與作者表相鏈接。10,5。用SQL語句創(chuàng)建一個“借書表”:創(chuàng)建借書表(讀者編號c (6)不為空,讀者姓名C(10),圖書編號C(6),借
6、書日期D DEFAULT DATE(),還書日期;期間為空;外鍵閱讀器編號標簽閱讀器編號參考閱讀器;描述:該命令在當前打開的圖書館管理數(shù)據(jù)庫中建立一個借閱表,其中“外鍵讀者編號”在該表的“讀者編號”字段中建立一個公共索引,同時,它指示該字段是一個連接字段,并通過引用讀者表中的主索引“讀者編號”(TAG讀者編號引用讀者)來建立與讀者表的聯(lián)系。這里,應(yīng)該注意的是,在“外鍵閱讀器編號標簽閱讀器編號參考閱讀器”語句前后的兩個“閱讀器編號”的含義是不同的。11,6。執(zhí)行上述命令后,您可以在數(shù)據(jù)庫設(shè)計器中看到如圖5-1所示的界面。圖5-1數(shù)據(jù)庫設(shè)計器的庫管理,12,格式 ALTER TABLE ADD(,
7、完整性約束NULL | NOT NULLDROP完整性約束MODIFY函數(shù)修改表結(jié)構(gòu)。說明 ADD子句用于添加指定表的字段變量名、數(shù)據(jù)類型、寬度和完整性約束;DROP子句用于刪除指定的完整性約束;MODIFY子句用于修改原始字段變量的值。示例5-4將分數(shù)字段變量(n,3)添加到課程分數(shù)表SC。修改表格章節(jié)增加分數(shù)(3)列表結(jié)構(gòu),2)修改表格,13)修改表格結(jié)構(gòu)綜合練習。(1)創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫表創(chuàng)建數(shù)據(jù)庫臨時數(shù)據(jù)庫創(chuàng)建表臨時1 (aa c (2),bb n (5,2),DD)創(chuàng)建表臨時2 (aa 1c (2),bb n (5,2),Dd1 I) (2)用索引標識符aa _ KEY改變表臨時1添
8、加主鍵aa標記AA _ KEY (3)用索引標識符aa1 _ KEY向表臨時2添加公共索引;并且表temp1的索引aa_key被作為temp2關(guān)聯(lián)字段。更改表模板2添加外鍵aa1標記aa1 _ keyREFERENCES temp1 TAG aa_key,14,(4)將表temp1中的字段名稱“dd”更改為“cc”,更改表temp1,將列DD重命名為cc,(5)刪除表temp2中名為“dd1”的字段,更改表temp2,刪除dd1,(6)刪除(3)中創(chuàng)建的公共索引的相關(guān)字段。更改表模板2刪除外鍵標記aa1 _ keySAVE (7)刪除在(3)中創(chuàng)建的公共索引。注意:當添加一個普通索引時,還必須
9、指出與之相關(guān)的字段。15,格式刪除數(shù)據(jù)庫功能刪除指定數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)。描述小心使用。4.刪除表格格式刪除表格功能刪除指定表格的結(jié)構(gòu)和內(nèi)容(包括在該表格上創(chuàng)建的索引)。描述如果您只想刪除表中的所有記錄,應(yīng)該使用DELETE語句。3.刪除數(shù)據(jù)庫。16.數(shù)據(jù)操作語言是完成數(shù)據(jù)操作的命令。它通常分為兩種類型的數(shù)據(jù)操作,統(tǒng)稱為DML:數(shù)據(jù)檢索(通常稱為查詢):查找所需的特定數(shù)據(jù)。數(shù)據(jù)修改:添加、刪除和更改數(shù)據(jù)。數(shù)據(jù)操作語言通常由插入、刪除、更新、選擇等組成。因為SELETE是特殊的,它通常作為查詢語言單獨出現(xiàn)。第3節(jié)數(shù)據(jù)操作函數(shù),17,格式1插入到值()格式2插入到from array | from
10、memvar函數(shù)在指定的表文件末尾添加一條記錄。格式1將表達式表中的表達式值分配給中的相應(yīng)字段。格式2將數(shù)組或內(nèi)存變量的值分配給表文件中的字段。描述如果某些字段名沒有出現(xiàn)在INTO子句中,新記錄將在這些字段名中采用空值(或默認值)。但是,必須注意,表定義中不為空的字段名不能為空。1。插入記錄18:指定表文件中的字段。默認情況下,按表文件中字段的順序賦值。指定要追加的記錄的每個字段的值。示例5-6在表文件STUD的末尾添加三條記錄。* * *通過表達式* *將第一條記錄插入到螺柱中(學生編號、姓名、性別、班級名稱、部門代碼、地址、出生日期、是否為成員);數(shù)值(011110,李建國,男,0121,
11、01,湖北武漢,09/28/02,t .),19,尺寸數(shù)據(jù)8數(shù)據(jù)(1)=011103數(shù)據(jù)(2)=李寧數(shù)據(jù)(3)=女數(shù)據(jù)(4)=電0134數(shù)據(jù)(5)=02數(shù)據(jù)(6)=江西九江數(shù)據(jù)(7)=05/06/85數(shù)據(jù)(8)=f .從陣列數(shù)據(jù)插入研究,* * *添加陣列中的第二條記錄。 廣西=02/21/84會員=.F .從會員列表中插入研究,* * *以記憶變量* *的形式添加第三條記錄,21,格式更新集=, SET子句用于指定列和修改值,WHERE子句用于指定更新的行,如果省略WHERE子句,則表示表中的所有行。說明更新操作也稱為修改操作。示例5-7在成績表中課程編號為02的所有分數(shù)上加5分。更新供應(yīng)鏈
12、設(shè)置得分=得分5;其中課程編號=02。2.更新記錄命令。2.刪除記錄。格式從何處刪除功能從指定的表中刪除所有滿足WHERE子句條件的記錄。如果DELETE語句中沒有WHERE子句,表中的所有記錄都將被刪除。注意這里的刪除是邏輯刪除,即在被刪除的記錄前添加刪除標記“*”。示例5-8刪除螺柱表中的所有男性記錄。從螺柱上刪除;性別=“男性”,23歲。第四節(jié):數(shù)據(jù)查詢功能。數(shù)據(jù)庫中的數(shù)據(jù)經(jīng)常是用于查詢的,所以數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。在SQL語言中,查詢語言中有一個查詢命令,即SELECT語句。1.基本查詢語句格式選擇全部|區(qū)別于函數(shù)無條件查詢。說明全部:表示顯示所有查詢記錄,包括重復記錄。DIST
13、INCT:表示顯示沒有重復結(jié)果的記錄。24,示例5-9顯示了“學生信息數(shù)據(jù)表”中的所有記錄。選擇*;*在FROM STUD命令中表示輸出顯示所有字段,并且數(shù)據(jù)源是STUD表,并且表中的內(nèi)容是通過瀏覽顯示的。示例5-10在學生信息數(shù)據(jù)表中顯示所有學生編號及其對應(yīng)的姓名,并且可以同時刪除重復的姓名。選擇不同的學生編號、姓名;來自STUD,25,示例5-11顯示SC(課程評分表)中的所有記錄,并將分數(shù)乘以0.7。選擇學生編號、課程編號、年級*0.7作為年級;來自SC ii。帶有條件的查詢語句(WHERE)格式全選|與WHERE不同函數(shù)從表中查詢滿足條件的數(shù)據(jù)。描述它由一系列用“與”或“或”連接的條件
14、表達式組成,條件表達式的格式如下:26,(1)。.(3)all()(4)any | some()(5)not and(6)not exists()(7)not in(8)not in()(9)not link,27,where子句中的條件運算符,28,SQL支持的關(guān)系運算符如下:示例5-12顯示了在STUD表中記錄的所有男生的學號、姓名和性別字段值。選擇學生證、姓名和性別;性別=男性的學生示例5-13顯示了學生表中出生日期在85歲之間的學生的學號、姓名和出生日期。選擇學生證、姓名和出生日期;來自梭哈;如果出生日期在1985年1月1日至1986年12月31日之間,29示例5-14顯示了學習表中姓李的學生的學號、姓氏和出生日期。選擇學生證、姓名和出生日期;來自梭哈;名字是
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公大樓保潔承包合同
- 技術(shù)開發(fā)合同模板簡明
- 院企合作科研合同標準模板
- 工業(yè)品交易合同模板轉(zhuǎn)讓合作協(xié)議
- 銀行軟件服務(wù)合同
- 小學生冬季滑冰知識
- 藥理學第二十章 抗心絞痛藥課件
- 微特電機在無人機飛行控制系統(tǒng)的應(yīng)用考核試卷
- 搪瓷材料在實驗室環(huán)境的應(yīng)用考核試卷
- 地下綜合管廊工程光纜敷設(shè)技術(shù)考核試卷
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 大班安全《尖利的東西會傷人》課件
- 兒科課件:急性細菌性腦膜炎
- 更年期綜合癥研究白皮書
- 基于PLC的小區(qū)排水控制系統(tǒng)設(shè)計畢業(yè)論文
- 社區(qū)矯正人員檢討書800字(5篇)
- (望聞問切-完整版)九型體質(zhì)調(diào)查表
- 芋頭種植技術(shù)要點
- 雞場規(guī)劃與建設(shè)完整版資料課件
- 經(jīng)濟學彈性理論課件
- 公司員工獎懲制度流程
評論
0/150
提交評論