




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)SQL概述 SQL的內(nèi)容在筆試和上機(jī)考試中均占到大約30%的比例,此外它還是查詢(xún)和視圖的基礎(chǔ),因此是學(xué)習(xí)的重點(diǎn)也是難點(diǎn)。SQL是結(jié)構(gòu)化查詢(xún)語(yǔ)言Structure Query Language的縮寫(xiě)。SQL包含了查詢(xún)功能、數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能,在VFP中沒(méi)有提供數(shù)據(jù)控制功能。SQL主要特點(diǎn)1 SQL是一種一體化語(yǔ)言。2 SQL是一種高度非過(guò)程化的語(yǔ)言。3 SQL語(yǔ)言非常簡(jiǎn)潔。4 SQL語(yǔ)言可直接以命令方式交互使用,也可嵌入到程序設(shè)計(jì)語(yǔ)言中以程序方式使用。查詢(xún)功能SELECT命令的特點(diǎn):1 可以自動(dòng)打開(kāi)數(shù)據(jù)庫(kù)、表文件加以查詢(xún),而不需要事先用OPEN DATABA
2、SE或USE命令打開(kāi)。2 可以直接選取數(shù)據(jù)表中的數(shù)據(jù),而不需要事先用SET RELATION命令建立關(guān)聯(lián)。3 當(dāng)需要的索引文件不存在時(shí),會(huì)自動(dòng)建立暫存索引文件,以支持快速搜索技術(shù)(Rushmore)來(lái)查詢(xún)。4 其查詢(xún)結(jié)果可輸出到文件、表、屏幕或報(bào)表上,還可以轉(zhuǎn)換成統(tǒng)計(jì)圖表。命令格式:SELECT FROM WHERE 可與 LIST FIELDS FOR 對(duì)照學(xué)習(xí)。關(guān)系操作:投影,選擇,聯(lián)接。說(shuō)明:功能強(qiáng)大,語(yǔ)法靈活;要處理的數(shù)據(jù)表無(wú)須事先打開(kāi),通過(guò)FROM子句指明并打開(kāi)。1 SELECT 短語(yǔ):說(shuō)明要查詢(xún)的數(shù)據(jù);對(duì)應(yīng)的關(guān)系操作為投影,類(lèi)似于FIELDS子句。2 FROM 短語(yǔ):說(shuō)明要查詢(xún)的數(shù)
3、據(jù)來(lái)自哪個(gè)或哪些表,可對(duì)單個(gè)表或多個(gè)表進(jìn)行查詢(xún);3 WHERE 短語(yǔ):說(shuō)明查詢(xún)條件;對(duì)應(yīng)的關(guān)系操作為選擇,類(lèi)似于FOR子句。如是多表查詢(xún)還可能過(guò)該子句指明聯(lián)接條件,進(jìn)行聯(lián)接。4 GROUP BY 短語(yǔ):用于對(duì)查詢(xún)結(jié)果進(jìn)行分組,可利用它進(jìn)行分組匯總;類(lèi)似于TOTAL命令。5 HAVING 短語(yǔ):跟隨GROUP BY 使用,它用來(lái)限定分組必須滿足的條件;6 ORDER BY 短語(yǔ):用于對(duì)查詢(xún)的結(jié)果進(jìn)行排序;類(lèi)似于SORT命令。示例數(shù)據(jù)庫(kù):學(xué)生管理,包括三個(gè)表:學(xué)生,課程,選課(通過(guò)該表反映“學(xué)生”與“課程”之間“多對(duì)多”的聯(lián)系。問(wèn)題:請(qǐng)同學(xué)們分別指出三個(gè)表的主關(guān)鍵字。一、 簡(jiǎn)單查詢(xún) 簡(jiǎn)單查詢(xún)基于單
4、個(gè)表。例:1查詢(xún)學(xué)生信息SELE * FROM 學(xué)生 &&“*”號(hào)代表所有列。類(lèi)似于:USE 學(xué)生LIST2查詢(xún)男生學(xué)生的學(xué)號(hào)、姓名及生日SELE 學(xué)號(hào),姓名,生日 FROM 學(xué)生 WHERE 性別=”男”類(lèi)似于USE 學(xué)生LIST學(xué)號(hào),姓名,生日 FOR性別=”男”3.查詢(xún)學(xué)分大于5的課程的信息SELE * FROM 課程 WHERE 學(xué)分>5類(lèi)似于USE 學(xué)生LIST FOR 學(xué)分>5 4、查詢(xún)學(xué)分不在6到9之間的Sele * from 課程 where 學(xué)分 not between 6 and 9二、 簡(jiǎn)單聯(lián)接查詢(xún) 聯(lián)接是關(guān)系的基本操作之一,聯(lián)接查詢(xún)基于多個(gè)關(guān)
5、系的查詢(xún)。例:查詢(xún)男生學(xué)生的選課信息,包括姓名,學(xué)號(hào)及成績(jī)。分析:本例的查詢(xún)結(jié)果包括兩個(gè)表“學(xué)生”與“選課”的屬性,適用于聯(lián)接查詢(xún)。SELE 姓名,選課.學(xué)號(hào),成績(jī); FROM 學(xué)生,選課;WHERE 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)AND 性別=”男” 說(shuō)明:如果命令太長(zhǎng)一行寫(xiě)不下可在行末加分號(hào)“:”表續(xù)行選課.學(xué)號(hào): 因?yàn)閮蓚€(gè)表中均有“學(xué)號(hào)”字段,所以必須指明所屬表。學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào):連接條件。還可使用如下SQL語(yǔ)句:SELE 姓名,選課.學(xué)號(hào),成績(jī);FROM 學(xué)生 JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào);WHERE 性別=”男”說(shuō)明:JOIN ON :建立表與表之間的聯(lián)接。自連接:se
6、le S.雇員姓名,"領(lǐng)導(dǎo)",E.雇員姓名 from 雇員 S,雇員 E where S.雇員號(hào)=E.經(jīng)理三、 嵌套查詢(xún)嵌套查詢(xún)是另一類(lèi)基于多個(gè)關(guān)系的查詢(xún),此類(lèi)查詢(xún)所要求的結(jié)果出自一個(gè)關(guān)系,但相關(guān)的條件卻涉及多個(gè)關(guān)系。1、例:查詢(xún)女生學(xué)生選課信息,包括學(xué)號(hào),課程號(hào),成績(jī)。SELE *;FROM 選課;WHERE 學(xué)號(hào) IN (SELE 學(xué)號(hào) FROM 學(xué)生 WHERE 性別=”女”)說(shuō)明:IN:相當(dāng)于集合運(yùn)算符。還可使用如下SQL語(yǔ)句:簡(jiǎn)單聯(lián)接查詢(xún)SELE 選課.學(xué)號(hào),課程號(hào),成績(jī);FROM 選課 JOIN 學(xué)生 ON 選課.學(xué)號(hào)=學(xué)生.學(xué)號(hào);WHERE 性別=”女”2、查
7、詢(xún)有“硬盤(pán)”訂購(gòu)需求的訂購(gòu)單明細(xì)記錄:這個(gè)例子要求查詢(xún)訂購(gòu)單明細(xì)表中的記錄,而查詢(xún)條件是產(chǎn)品標(biāo)的名稱(chēng),Sele * from 訂購(gòu)單明細(xì) where 產(chǎn)品號(hào) IN;(sele 產(chǎn)品號(hào) from 產(chǎn)品 where 名稱(chēng)=“硬盤(pán)”)3、排除法查詢(xún)的例子:查詢(xún)所有訂購(gòu)數(shù)量(即訂購(gòu)單中每個(gè)訂購(gòu)項(xiàng)目的數(shù)量)都在50以上的訂購(gòu)單的信息Sele * from 訂購(gòu)單 where 訂單號(hào) not in;(sele 訂單號(hào) from 訂購(gòu)單明細(xì) where 數(shù)量=50)Sele * from 訂購(gòu)單 where 訂單號(hào) not in;(sele 訂單號(hào) from 訂購(gòu)單明細(xì) where 數(shù)量=50) and 訂
8、單號(hào) in (sele 訂單號(hào) from 訂購(gòu)單明細(xì))4、找出和某某產(chǎn)品同等價(jià)位的所有產(chǎn)品信息:內(nèi)外層查詢(xún)的同一個(gè)表,內(nèi)層查詢(xún)查處單價(jià),外層查詢(xún)根據(jù)這個(gè)單價(jià)查詢(xún)產(chǎn)品信息Sele * from 產(chǎn)品 where 單價(jià)=;(sele 單價(jià) from 產(chǎn)品 where 規(guī)格說(shuō)明=“某某產(chǎn)品”) 5、內(nèi)外層互相查詢(xún)嵌套查詢(xún)四、 特殊運(yùn)算符 1 BETWEEN AND 意為“和之間”例:查詢(xún)成績(jī)?cè)?0分到90分之間的選課信息。SELE * FROM 選課 WHERE 成績(jī) BETWEEN 80 AND 90等價(jià)于:SELE * FROM 選課 WHERE 成績(jī)>=80 AND 成績(jī)<=90例
9、:查詢(xún)成績(jī)不在80分到90分之間的選課信息。SELE * FROM 選課 WHERE 成績(jī) NOT BETWEEN 80 AND 902 LIKE 是字符串匹配運(yùn)算符,通配符“%”表示0個(gè)或多個(gè)字符,“_”表示一個(gè)字符。注意:不是“*”和“?”,不正確!例:從學(xué)生關(guān)系中查詢(xún)姓“黃”的學(xué)生信息。SELE * FROM 學(xué)生 WHERE 姓名 LIKE “黃%”不能寫(xiě)成:SELE * FROM 學(xué)生 WHERE 姓名="黃%" 例:從學(xué)生關(guān)系中查詢(xún)不姓“黃”的學(xué)生信息。SELE * FROM 學(xué)生 WHERE 姓名 NOT LIKE “黃%”例:SELE * FROM 學(xué)生 W
10、HERE 姓名 LIKE "黃_"SELE * FROM 學(xué)生 WHERE 姓名 LIKE "黃_"五、 排序SQL SELECT 可將查詢(xún)結(jié)果排序。排序的短語(yǔ)格式如下:ORDER BY Order_Item ASC|DESC, Order_Item ASC|DESC說(shuō)明:可按升序或降序排序,允許按一列或多列排序。例:按學(xué)分進(jìn)行升序查詢(xún)課程信息。SELE * FROM 課程 ORDER BY 學(xué)分 ASC例:先按學(xué)分進(jìn)行升序排序,學(xué)分相同的再按課程名進(jìn)行降序排序并輸出全部課程信息。SELE * FROM 課程 ORDER BY 學(xué)分,課程名 DESC注:
11、ORDER BY 對(duì)最終的查詢(xún)(外查詢(xún))結(jié)果進(jìn)行排序,不能在子查詢(xún)(內(nèi)查詢(xún))中使用此短語(yǔ)。六、 簡(jiǎn)單計(jì)算查詢(xún) SQL不但具有一般的檢索能力,而且還有計(jì)算方式的檢索。用于計(jì)算檢索的函數(shù)有:1 COUNT(*):計(jì)數(shù) 自變量通常為數(shù)值型2 SUM():求和3 AVG():算平均值4 MAX():求最大值5 MIN():求最小值上面的函數(shù)可用在SELECT短語(yǔ)中對(duì)查詢(xún)結(jié)果進(jìn)行計(jì)算。例:查詢(xún)學(xué)號(hào)為“03”的學(xué)生選修課程的考試成績(jī)總分和平均分。SELE SUM(成績(jī)),AVG(成績(jī)) FROM 選課 WHERE 學(xué)號(hào)=”03”SELE SUM(成績(jī)) 總分,AVG(成績(jī)) 平均分 FROM 選課 WHE
12、RE 學(xué)號(hào)=”03”SELE 姓名,SUM(成績(jī)) AS 總分,AVG(成績(jī)) AS 平均分;FROM 學(xué)生 JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào);WHERE 學(xué)生.學(xué)號(hào)=”03”七、 分組與計(jì)算查詢(xún) 利用GROUP BY 子句進(jìn)行分組計(jì)算查詢(xún)使用得更加廣泛。GROUP BY短語(yǔ)格式如下:GROUP BY GroupColumn,GroupColunmHAVING FilterCondition說(shuō)明:1 可按一列或多列分組,還可以用HAVING進(jìn)一步限定分組的條件。2 GROUP BY子句一般跟在WHERE子句之后,沒(méi)有WHERE子句時(shí),跟在FROM子句之后;HAVING子句必須跟在G
13、ROUP BY 之后,不能單獨(dú)使用。在查詢(xún)中是先用WHERE子句限定元組,然后進(jìn)行分組,最后再用HAVING子句限定分組。例:求每個(gè)學(xué)生選課的考試成績(jī)平均分。SELE 學(xué)號(hào),AVG(成績(jī)) FROM 選課 GROUP BY 學(xué)號(hào)說(shuō)明:在此查詢(xún)中,選按學(xué)號(hào)屬性進(jìn)行分組,然后再計(jì)算每個(gè)學(xué)號(hào)的平均成績(jī)。例:在選課表中求每個(gè)選課門(mén)數(shù)為4門(mén)的學(xué)生的總分和平均分。SELE 學(xué)號(hào),SUM(成績(jī)) AS 總分,AVG(成績(jī)) AS 平均分;FROM 選課;GROUP BY 學(xué)號(hào) HAVING COUNT(*)=4SELE 姓名,SUM(成績(jī)) AS 總分,AVG(成績(jī)) AS 平均分;FROM 學(xué)生 JOIN
14、 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào);WHERE 性別=”女”;GROUP BY 選課.學(xué)號(hào) HAVING COUNT(*)=4例:求平均成績(jī)?cè)?0分以上的各課程的課程號(hào)與平均成績(jī)。SELE 課程號(hào),AVG(成績(jī)) FROM 選課; GROUP BY 課程號(hào) HAVING AVG(成績(jī))>80八、使用空值進(jìn)行查詢(xún) 空值的概念:空值就是缺值或還沒(méi)有確定值,不能把它理解為任何意義的數(shù)據(jù)。比如表示價(jià)格的一個(gè)字段值,空值表示沒(méi)有定價(jià),而數(shù)值0可能表示免費(fèi)??罩蹬c空(或空白)字符串、數(shù)值0等具有不同的含義。例:假設(shè)在選課中有些學(xué)生某門(mén)課程還沒(méi)有考試,則成績(jī)?yōu)榭?。試找出尚未考試的選課信息。SELE
15、* FROM 選課 WHERE 成績(jī) IS NULL注:不能寫(xiě)成“=NULL”例:試找出成績(jī)不為空的選課信息。SELE * FROM 選課 WHERE 成績(jī) IS NOT NULL九、別名與自聯(lián)接查詢(xún) 在聯(lián)接操作中,要使用關(guān)系名作前綴,為簡(jiǎn)單起見(jiàn),SQL允許在FROM短語(yǔ)中為關(guān)系名定義別名。格式為:<關(guān)系名><別名>例:查詢(xún)選課信息中的姓名,課程名,成績(jī)。SELE 姓名,課程名,成績(jī);FROM 學(xué)生 S,課程 C,選課 SC;WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND C.課程號(hào)=SC.課程號(hào)說(shuō)明:在上面的例子中,別名并不是必須的,但是在關(guān)系的自聯(lián)接操作中,別名則是必不可
16、少的。SQL不僅可以對(duì)多個(gè)關(guān)系實(shí)行聯(lián)接操作,也可將同一關(guān)系與其自身進(jìn)行聯(lián)接,這種聯(lián)接就稱(chēng)為自聯(lián)接。在這種自聯(lián)接操作關(guān)系上,本質(zhì)上存在著一種特殊的遞歸聯(lián)系,也就是關(guān)系中的一些元組,根據(jù)出自同一值域的兩個(gè)不同的屬性,可以與另外一些元組有一種對(duì)應(yīng)關(guān)系(一對(duì)多的聯(lián)系)。注:元組即記錄。例:試查詢(xún)先修課的課程名在本例中,先修課號(hào)與課程號(hào)出自同一值域,會(huì)涉及自聯(lián)接查詢(xún)。SELE DISTINCT C2.先修課號(hào) C1.課程名;FROM 課程 C1,課程 C2;WHERE C1.課程號(hào)=C2.先修課號(hào)十、內(nèi)外層相關(guān)嵌套查詢(xún) 前面討論的嵌套查詢(xún)是外層查詢(xún)依賴(lài)于內(nèi)層查詢(xún)的結(jié)果,而內(nèi)層查詢(xún)與外層查詢(xún)無(wú)關(guān)。但有時(shí)也
17、需要內(nèi)、外層互相關(guān)的查詢(xún),這時(shí)內(nèi)層查詢(xún)的條件需要外層查詢(xún)提供值,而外層查詢(xún)的條件需要內(nèi)層查詢(xún)的結(jié)果。例:查詢(xún)只有一個(gè)學(xué)生選修的課程的學(xué)號(hào),課程號(hào)及成績(jī)。SELE *;FROM 選課 SC1;WHERE SC1.課程號(hào) NOT IN; (SELE 課程號(hào) FROM 選課 SC2 WHERE SC1.學(xué)號(hào)<>SC2.學(xué)號(hào))SELE * FROM 選課 SC1;WHERE NOT EXIST (SELE * FROM 選課 SC2 ;WHERE SC1.學(xué)號(hào)<>SC2.學(xué)號(hào) AND SC2.課程號(hào)=SC1.課程號(hào))十一、用量詞和謂詞的查詢(xún)前面已學(xué)過(guò)NOT IN運(yùn)算符,此處還有
18、兩種與子查詢(xún)相關(guān)的運(yùn)算符。格式1:<表達(dá)式><比較運(yùn)算符>ANY|ALL|SOME(子查詢(xún))格式2:NOT EXISTS (子查詢(xún))說(shuō)明:1ANY、ALL和SOME為量詞,ANY和SOME是同義詞,在進(jìn)行比較運(yùn)算時(shí)只要子查詢(xún)中有一行能使結(jié)果為真,則結(jié)果為真;ALL則要求子查詢(xún)中的所有行都使結(jié)果為真時(shí),結(jié)果才為真。2EXISTS為謂詞,EXISTS和NOT EXISTS是用來(lái)檢查在子查詢(xún)中是否有結(jié)果返回,也就是存在元組或不存在元組。例:查詢(xún)選修有課程的學(xué)生的學(xué)號(hào),姓名,性別及生日。(看懂)SELE * FROM 學(xué)生 WHERE EXIST (SELE * FROM 選課
19、 WHERE 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào))注:本例中內(nèi)層查詢(xún)引用了外層查詢(xún)的表,只有這樣使用謂詞EXISTS或NOT EXISTS才有意義。例:確定哪些客戶目前沒(méi)有訂購(gòu)單:這里的查詢(xún)是客戶沒(méi)有訂購(gòu)單子記錄或不存在訂購(gòu)單子記錄Sele * from 客戶 where not exists ;(sele * from 訂購(gòu)單 where 客戶號(hào)=客戶.客戶號(hào)) :此查詢(xún)等價(jià)于 sele * from 客戶 where 客戶號(hào) not in(sele 客戶號(hào) from 訂購(gòu)單)例:查詢(xún)學(xué)分最高的課程信息。SELE * FROM 課程 WHERE 學(xué)分>=ALL (SELE 學(xué)分 FROM 課程)S
20、ELE * FROM 課程 WHERE NOT 學(xué)分<ANY (SELE 學(xué)分 FROM 課程)SELE * FROM 課程 WHERE NOT 學(xué)分<SOME (SELE 學(xué)分 FROM 課程)SELE * FROM 課程 WHERE 學(xué)分=(SELE MAX(學(xué)分) FROM 課程)例:查詢(xún)學(xué)分不是最高的課程信息。SELE * FROM 課程 WHERE 學(xué)分<ANY (SELE 學(xué)分 FROM 課程)SELE * FROM 課程 WHERE 學(xué)分<SOME (SELE 學(xué)分 FROM 課程)十二、超聯(lián)接查詢(xún) 在兩個(gè)表的超聯(lián)接查詢(xún)中,首先保證一個(gè)表中滿足條件的元組都
21、在結(jié)果中,然后將滿足聯(lián)接條件的元組與另一個(gè)表中的元組進(jìn)行聯(lián)接,不滿足聯(lián)接條件的則將應(yīng)來(lái)自另一表的屬性置為空值。語(yǔ)法:SELE FROM Talbel INNER|LEFT|RIGHT|FULL JOIN Table ON Join ConditionWHERE 說(shuō)明:1 INNER JOIN:等價(jià)于JOIN,為普通聯(lián)接。2 ON Join Condition:用于指定聯(lián)接條件。例:比較幾種聯(lián)接方式。SELE 姓名,課程號(hào),成績(jī) FROM 學(xué)生 JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)SELE 姓名,課程號(hào),成績(jī) FROM 學(xué)生 LEFT JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)SELE
22、 姓名,課程號(hào),成績(jī) FROM 學(xué)生 RIGHT JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)SELE 姓名,課程號(hào),成績(jī) FROM 學(xué)生 FULL JOIN 選課 ON 學(xué)生.學(xué)號(hào)=選課.學(xué)號(hào)十三、集合并運(yùn)算 可將兩個(gè)SELECT語(yǔ)句的查詢(xún)結(jié)果通過(guò)并運(yùn)算合并成一個(gè)查詢(xún)結(jié)果。為進(jìn)行并運(yùn)算,要求兩個(gè)查詢(xún)結(jié)果具有相同的字段個(gè)數(shù),并且對(duì)應(yīng)字段的值要出自同一值域,也就是具有相同的數(shù)據(jù)類(lèi)型和取值范圍。例:查詢(xún)學(xué)號(hào)為01與02的選課信息。SELE * FROM 選課 WHERE 學(xué)號(hào)=”01”;UNION;SELE * FROM 選課 WHERE 學(xué)號(hào)=”02”十四、VFP中有關(guān)SQL SELECT的幾個(gè)
23、特殊選項(xiàng) 1 顯示部分結(jié)果格式:TOP n PERCENT功能:只需要滿足條件的前幾個(gè)記錄。說(shuō)明:(1) n是1至32767之間的整數(shù),說(shuō)明顯示前幾個(gè)記錄。(2) 當(dāng)使用PERCENT時(shí),說(shuō)明顯示結(jié)果中前百分之幾的記錄。例:顯示學(xué)分最低的前2項(xiàng)課程記錄。SELE * TOP 2 FROM 課程 ORDER BY 學(xué)分 DESC &&通常與ORDER BY子句連用2 將結(jié)果存放在數(shù)組中 格式:INTO ARRAY ArrayName3 將結(jié)果存放在臨時(shí)文件中格式:INTO CURSOR CursorName說(shuō)明:臨時(shí)表中一個(gè)只讀的DBF文件,當(dāng)查詢(xún)結(jié)束后該臨時(shí)文件是當(dāng)前文件,可像
24、一般的DBF文件一樣使用,當(dāng)關(guān)閉文件時(shí)該文件將自動(dòng)刪除。4 將結(jié)果存放在永久表中,通過(guò)該子句可實(shí)現(xiàn)表的復(fù)制。格式:INTO TABLE|DBF TableName5 將結(jié)果存放到文本文件中格式:TO FILE FileName ADDITIVE6 將結(jié)果直接輸出到打印機(jī)格式:TO PRINTER PROMPT習(xí)題:P131/ 2 P132/ 4,5,6第三節(jié) 數(shù)據(jù)操作功能 一、 插入 命令格式1:INSERT INTO 數(shù)據(jù)表名 (字段名1,字段名2,.) VALUES (表達(dá)式1,表達(dá)式2.)功能:在指定表尾添加一條新記錄,其值為VALUES后面的表達(dá)式的值。命令格式2:INSERT INT
25、O 數(shù)據(jù)表名 FROM ARRAY ArrayName|FROM MEMVAR功能:向指定表中添加一條新記錄,其值來(lái)自于數(shù)組或?qū)?yīng)的同名內(nèi)存變量。例:向課程表中插入記錄:(”05”,”數(shù)理邏輯”,”6”,”03”)INSERT INTO 課程 VALUES(”05”,”數(shù)理邏輯”,6,”03”)說(shuō)明:1 如未使用字段名指明,則VALUES中的表達(dá)式數(shù)目必須與表中的字段數(shù)相同,而且相應(yīng)的數(shù)據(jù)類(lèi)型必須一致。2 如果表中設(shè)定了主索引,則插入記錄時(shí)只能用該SQL INSERT 命令而不能使用APPEND或INSERT命令。3 注意插入數(shù)據(jù)的數(shù)據(jù)類(lèi)型必須與表設(shè)計(jì)時(shí)的類(lèi)型一致。二、 更新 命令格式:UPD
26、ATE TableName SET 字段名1=表達(dá)式1,字段名2=表達(dá)式2. WHERE Condition類(lèi)似于REPLACE命令。通常嵌入在循環(huán)結(jié)構(gòu)內(nèi),用另一個(gè)表的數(shù)據(jù)來(lái)修改本表。例:將課程關(guān)系中課程號(hào)為“01”的課程的學(xué)分加1分。UPDATE 課程 SET 學(xué)分=學(xué)分+1 WHERE 課程號(hào)=”01”習(xí)題:P148/2 P150/6三、刪除 命令格式:DELETE FROM TableName WHERE Condition說(shuō)明:類(lèi)似于VFP的DELE . FOR . 命令。1 若無(wú)WHERE子句會(huì)刪除表中的全部記錄。2 此命令為邏輯刪除。用PACK命令進(jìn)行物理刪除。例:刪除課程關(guān)系中課
27、程號(hào)為“05”的元組。DELE FROM課程 WHERE 課程號(hào)=”05”習(xí)題:P156/25第二節(jié) 數(shù)據(jù)定義功能 一、表的定義 命令格式:CREATE TABLE 數(shù)據(jù)表名(字段名1 字段類(lèi)型(字段寬度,小數(shù)位數(shù)) NULL|NOT NULLCHECK ERRORDEFAULTPRIMARY KEY|UNIQUE字段名2. .)說(shuō)明:例:用SQL CREATE命令建立學(xué)生2數(shù)據(jù)表CREATE TABLE 學(xué)生2(學(xué)號(hào)C(2) NOT NULL PRIMARY KEY ,姓名 C(8),;性別 C(2) CHECK 性別=”男” OR 性別=”女” ERROR “性別只能是男或女” DEFAULT “男”,生日 D)習(xí)題:P157/2二、表的刪除命令格式:DROP TABLE TableName功能:直接從磁盤(pán)上刪除指定的表。例:刪除上例中的表“學(xué)生2”DROP TABLE 學(xué)生2習(xí)題:P148/1三、 表結(jié)構(gòu)的修改命令格式1:ALTER TABLE TableName ADD|ALTER COLUMN 字段名1. 說(shuō)明:此格式可添加(ADD)新的字段或
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際經(jīng)濟(jì)法國(guó)際海事法律事務(wù)考核試卷
- 2025年中國(guó)PE發(fā)泡鞋材數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)LED走廊燈數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)BD拋光輪數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)200#溶劑油數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025至2030年中國(guó)輕觸延時(shí)開(kāi)關(guān)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)花崗巖Ⅴ型架市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)紙漿模塑寵物用品市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)瞄點(diǎn)式亮度計(jì)市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)瓷柱式斷路器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2024年山東兗礦能源集團(tuán)股份有限公司招聘筆試參考題庫(kù)含答案解析
- 南平市浦城縣石陂鎮(zhèn)社區(qū)工作者招聘考試基礎(chǔ)題匯總2023
- 產(chǎn)能管理制度
- 《汽車(chē)發(fā)動(dòng)機(jī)構(gòu)造與維修》(配實(shí)訓(xùn)工單) 教案 5-1冷卻系結(jié)構(gòu)與循環(huán)線路(4學(xué)時(shí))
- 員工反饋與投訴處理機(jī)制
- 《電力交易培訓(xùn)》課件
- 研究污水處理中的微生物群落結(jié)構(gòu)
- 習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想題庫(kù)(100道)
- 公司授權(quán)子公司簽訂合同委托書(shū)正規(guī)范本(通用版)
- 國(guó)開(kāi)電大《管理英語(yǔ)1》參考答案
- 《MEMS技術(shù)及其應(yīng)用》課件
評(píng)論
0/150
提交評(píng)論