vfp結(jié)構(gòu)化查詢語言(SQL).ppt_第1頁
vfp結(jié)構(gòu)化查詢語言(SQL).ppt_第2頁
vfp結(jié)構(gòu)化查詢語言(SQL).ppt_第3頁
vfp結(jié)構(gòu)化查詢語言(SQL).ppt_第4頁
vfp結(jié)構(gòu)化查詢語言(SQL).ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rè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語言的特點(diǎn),1 .集成了數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)管理的功能,統(tǒng)一了語言風(fēng)格。它可以獨(dú)立完成所有的數(shù)據(jù)庫操作,包括定義關(guān)系模式、輸入數(shù)據(jù)和建立數(shù)據(jù)庫、查詢、更新、維護(hù)數(shù)據(jù)、重建數(shù)據(jù)庫、數(shù)據(jù)庫安全等,為數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)人員提供了一個(gè)良好的環(huán)境。2高度非過程化,3面向集合的操作模式,4提供兩種具有相同語法結(jié)構(gòu)的使用模式,5語言簡潔,易于學(xué)習(xí)和使用,第1節(jié)SQL概述,4,2,SQL語言的基本概念。外部模式對(duì)應(yīng)于視圖和基表的一部分,模式對(duì)應(yīng)于基表,內(nèi)部模式對(duì)應(yīng)于

2、存儲(chǔ)文件。基本表是獨(dú)立存在的表。在SQL語言中,關(guān)系對(duì)應(yīng)于一個(gè)表。一些基本表對(duì)應(yīng)于一個(gè)存儲(chǔ)文件,一個(gè)表可以有多個(gè)索引,這些索引存儲(chǔ)在存儲(chǔ)文件中。存儲(chǔ)文件的邏輯結(jié)構(gòu)構(gòu)成了關(guān)系數(shù)據(jù)庫的內(nèi)部模式。并且存儲(chǔ)文件的物理文件結(jié)構(gòu)是任意的。視圖是從基本表或其他視圖導(dǎo)出的表,它不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫中,也就是說,數(shù)據(jù)庫只存儲(chǔ)視覺的定義,而不存儲(chǔ)與視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍然存儲(chǔ)在導(dǎo)出視圖的基本表中,因此視圖是一個(gè)虛擬表。數(shù)據(jù)定義語言DDL用于執(zhí)行數(shù)據(jù)定義操作,如創(chuàng)建或刪除對(duì)象,如表、索引和視圖。由CREATE、DROP和ALTER命令組成,它完成數(shù)據(jù)庫對(duì)象的創(chuàng)建、刪除和更改。I .定義(創(chuàng)建)表格式創(chuàng)建表(,)完

3、整性約束為空|不為空),主鍵|唯一默認(rèn)引用標(biāo)記函數(shù)定義(也稱為創(chuàng)建)表。第2節(jié),數(shù)據(jù)定義函數(shù),第6節(jié),數(shù)據(jù)類型描述,第7節(jié),示例5-1創(chuàng)建一個(gè)表STUD(學(xué)生信息表),它由以下字段組成:學(xué)生編號(hào)(c,10);名稱(C,8);性別(c,2);類名(c,10);部門代碼(c,2);地址(c,50);出生日期(d);它是成員嗎(l);備注(m)。創(chuàng)建表格學(xué)習(xí)(學(xué)號(hào)C(10),姓名C(10),性別C(2),班級(jí)名稱C(10),部門代碼C(2),地址C(50),出生日期D,是否是成員L,備注M,照片G)列表結(jié)構(gòu)示例5-2創(chuàng)建表格s C(課程編號(hào)C,2)。創(chuàng)建表SC(學(xué)生標(biāo)識(shí)C(10),課程標(biāo)識(shí)C(2)列

4、表結(jié)構(gòu),8,示例5-3使用SQL命令建立一個(gè)“圖書館管理”數(shù)據(jù)庫,其中包含表:讀者表,作者表,圖書表和借閱表。操作步驟如下:1創(chuàng)建數(shù)據(jù)庫:創(chuàng)建數(shù)據(jù)庫庫管理2用SQL命令創(chuàng)建讀者表:CREATE TABLE讀者(讀者號(hào)c (9)不為空;主鍵,名稱C(8),性別C(2)檢查(性別=;“男性”或“性別=”女性)默認(rèn)為“男性”,出生日期D,小于;民族數(shù):l,籍貫:C(10),聯(lián)系方式:C(8),照片:該命令在當(dāng)前打開的圖書館管理數(shù)據(jù)庫中建立讀者表,其中讀者號(hào)為主要關(guān)鍵字,性別字段值用CHECK解釋有效性規(guī)則,性別字段的默認(rèn)值設(shè)置為“男性”。,9,3。用SQL語句建立“作者”表:創(chuàng)建表作者(作者編號(hào)C(

5、2)主鍵,作者姓名(10),書名(10),聯(lián)系電話(10),備注(4)。用SQL語句創(chuàng)建一個(gè)“書”表:創(chuàng)建表書(書號(hào)C(6)不為空主鍵,作者編號(hào)c (2)不為空,標(biāo)題C(14),價(jià)格N(8,2),量I,按C(18),描述:該命令在當(dāng)前打開的圖書館管理數(shù)據(jù)庫中建立一個(gè)圖書表,其中圖書編號(hào)是主關(guān)鍵字,而“外鍵作者編號(hào)”表示在該表的“作者編號(hào)”字段中建立了一個(gè)公共索引,它還表示該字段是一個(gè)連接字段,該字段通過引用作者表中的主索引“作者編號(hào)”(TAG作者編號(hào)引用作者)與作者表相鏈接。10,5。用SQL語句創(chuàng)建一個(gè)“借書表”:創(chuàng)建借書表(讀者編號(hào)c (6)不為空,讀者姓名C(10),圖書編號(hào)C(6),借

6、書日期D DEFAULT DATE(),還書日期;期間為空;外鍵閱讀器編號(hào)標(biāo)簽閱讀器編號(hào)參考閱讀器;描述:該命令在當(dāng)前打開的圖書館管理數(shù)據(jù)庫中建立一個(gè)借閱表,其中“外鍵讀者編號(hào)”在該表的“讀者編號(hào)”字段中建立一個(gè)公共索引,同時(shí),它指示該字段是一個(gè)連接字段,并通過引用讀者表中的主索引“讀者編號(hào)”(TAG讀者編號(hào)引用讀者)來建立與讀者表的聯(lián)系。這里,應(yīng)該注意的是,在“外鍵閱讀器編號(hào)標(biāo)簽閱讀器編號(hào)參考閱讀器”語句前后的兩個(gè)“閱讀器編號(hào)”的含義是不同的。11,6。執(zhí)行上述命令后,您可以在數(shù)據(jù)庫設(shè)計(jì)器中看到如圖5-1所示的界面。圖5-1數(shù)據(jù)庫設(shè)計(jì)器的庫管理,12,格式 ALTER TABLE ADD(,

7、完整性約束NULL | NOT NULLDROP完整性約束MODIFY函數(shù)修改表結(jié)構(gòu)。說明 ADD子句用于添加指定表的字段變量名、數(shù)據(jù)類型、寬度和完整性約束;DROP子句用于刪除指定的完整性約束;MODIFY子句用于修改原始字段變量的值。示例5-4將分?jǐn)?shù)字段變量(n,3)添加到課程分?jǐn)?shù)表SC。修改表格章節(jié)增加分?jǐn)?shù)(3)列表結(jié)構(gòu),2)修改表格,13)修改表格結(jié)構(gòu)綜合練習(xí)。(1)創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫表創(chuàng)建數(shù)據(jù)庫臨時(shí)數(shù)據(jù)庫創(chuàng)建表臨時(shí)1 (aa c (2),bb n (5,2),DD)創(chuàng)建表臨時(shí)2 (aa 1c (2),bb n (5,2),Dd1 I) (2)用索引標(biāo)識(shí)符aa _ KEY改變表臨時(shí)1添

8、加主鍵aa標(biāo)記AA _ KEY (3)用索引標(biāo)識(shí)符aa1 _ KEY向表臨時(shí)2添加公共索引;并且表temp1的索引aa_key被作為temp2關(guān)聯(lián)字段。更改表模板2添加外鍵aa1標(biāo)記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刪除外鍵標(biāo)記aa1 _ keySAVE (7)刪除在(3)中創(chuàng)建的公共索引。注意:當(dāng)添加一個(gè)普通索引時(shí),還必須

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ù)操作語言通常由插入、刪除、更新、選擇等組成。因?yàn)镾ELETE是特殊的,它通常作為查詢語言單獨(dú)出現(xiàn)。第3節(jié)數(shù)據(jù)操作函數(shù),17,格式1插入到值()格式2插入到from array | from

10、memvar函數(shù)在指定的表文件末尾添加一條記錄。格式1將表達(dá)式表中的表達(dá)式值分配給中的相應(yīng)字段。格式2將數(shù)組或內(nèi)存變量的值分配給表文件中的字段。描述如果某些字段名沒有出現(xiàn)在INTO子句中,新記錄將在這些字段名中采用空值(或默認(rèn)值)。但是,必須注意,表定義中不為空的字段名不能為空。1。插入記錄18:指定表文件中的字段。默認(rèn)情況下,按表文件中字段的順序賦值。指定要追加的記錄的每個(gè)字段的值。示例5-6在表文件STUD的末尾添加三條記錄。* * *通過表達(dá)式* *將第一條記錄插入到螺柱中(學(xué)生編號(hào)、姓名、性別、班級(jí)名稱、部門代碼、地址、出生日期、是否為成員);數(shù)值(011110,李建國,男,0121,

11、01,湖北武漢,09/28/02,t .),19,尺寸數(shù)據(jù)8數(shù)據(jù)(1)=011103數(shù)據(jù)(2)=李寧數(shù)據(jù)(3)=女?dāng)?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會(huì)員=.F .從會(huì)員列表中插入研究,* * *以記憶變量* *的形式添加第三條記錄,21,格式更新集=, SET子句用于指定列和修改值,WHERE子句用于指定更新的行,如果省略WHERE子句,則表示表中的所有行。說明更新操作也稱為修改操作。示例5-7在成績表中課程編號(hào)為02的所有分?jǐn)?shù)上加5分。更新供應(yīng)鏈

12、設(shè)置得分=得分5;其中課程編號(hào)=02。2.更新記錄命令。2.刪除記錄。格式從何處刪除功能從指定的表中刪除所有滿足WHERE子句條件的記錄。如果DELETE語句中沒有WHERE子句,表中的所有記錄都將被刪除。注意這里的刪除是邏輯刪除,即在被刪除的記錄前添加刪除標(biāo)記“*”。示例5-8刪除螺柱表中的所有男性記錄。從螺柱上刪除;性別=“男性”,23歲。第四節(jié):數(shù)據(jù)查詢功能。數(shù)據(jù)庫中的數(shù)據(jù)經(jīng)常是用于查詢的,所以數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。在SQL語言中,查詢語言中有一個(gè)查詢命令,即SELECT語句。1.基本查詢語句格式選擇全部|區(qū)別于函數(shù)無條件查詢。說明全部:表示顯示所有查詢記錄,包括重復(fù)記錄。DIST

13、INCT:表示顯示沒有重復(fù)結(jié)果的記錄。24,示例5-9顯示了“學(xué)生信息數(shù)據(jù)表”中的所有記錄。選擇*;*在FROM STUD命令中表示輸出顯示所有字段,并且數(shù)據(jù)源是STUD表,并且表中的內(nèi)容是通過瀏覽顯示的。示例5-10在學(xué)生信息數(shù)據(jù)表中顯示所有學(xué)生編號(hào)及其對(duì)應(yīng)的姓名,并且可以同時(shí)刪除重復(fù)的姓名。選擇不同的學(xué)生編號(hào)、姓名;來自STUD,25,示例5-11顯示SC(課程評(píng)分表)中的所有記錄,并將分?jǐn)?shù)乘以0.7。選擇學(xué)生編號(hào)、課程編號(hào)、年級(jí)*0.7作為年級(jí);來自SC ii。帶有條件的查詢語句(WHERE)格式全選|與WHERE不同函數(shù)從表中查詢滿足條件的數(shù)據(jù)。描述它由一系列用“與”或“或”連接的條件

14、表達(dá)式組成,條件表達(dá)式的格式如下:26,(1)。.(3)all()(4)any | some()(5)not and(6)not exists()(7)not in(8)not in()(9)not link,27,where子句中的條件運(yùn)算符,28,SQL支持的關(guān)系運(yùn)算符如下:示例5-12顯示了在STUD表中記錄的所有男生的學(xué)號(hào)、姓名和性別字段值。選擇學(xué)生證、姓名和性別;性別=男性的學(xué)生示例5-13顯示了學(xué)生表中出生日期在85歲之間的學(xué)生的學(xué)號(hào)、姓名和出生日期。選擇學(xué)生證、姓名和出生日期;來自梭哈;如果出生日期在1985年1月1日至1986年12月31日之間,29示例5-14顯示了學(xué)習(xí)表中姓李的學(xué)生的學(xué)號(hào)、姓氏和出生日期。選擇學(xué)生證、姓名和出生日期;來自梭哈;名字是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論