




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 第8章 結(jié)構(gòu)化查詢語言SQL化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好 8.1 SQL語言概述 SQL語言是數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,幾乎所有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL標(biāo)準(zhǔn)。SQL語言的主要特點(diǎn)是:(1)高度集成化 SQL語言集數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)查詢和數(shù)據(jù)控制功能于一體。(2)非過程化 SQL是一種非過程化的語言。(3)簡潔易學(xué) SQL語言完成數(shù)據(jù)定義(CREATE、DROP、ALTER)數(shù)據(jù)操縱(INSERT、UPDATE、DELETE)、數(shù)據(jù)控制(GRANT、REVOKE)和數(shù)據(jù)查詢(SELECT)等核心功
2、能只用了9個(gè)命令動(dòng)詞;而且語法也接近英語自然語法。(4)用法靈活 SQL語言既能夠以人機(jī)交互方式來使用,也可以嵌入到程序設(shè)計(jì)語言中以程序方式使用?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2 數(shù)據(jù)定義 標(biāo)準(zhǔn)SQL的數(shù)據(jù)定義功能非常廣泛,包括數(shù)據(jù)庫、表、視圖、存儲(chǔ)過程、規(guī)則及索引的定義等。數(shù)據(jù)定義語言由3個(gè)命令組成。(1)定義表:CREATE Table(2)修改表結(jié)構(gòu): ALTER Table(3)刪除表:DROP Table化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2.1 表的定義格式:CREATE TABLE|DBF (字段名 類型(寬度,小數(shù)位
3、數(shù))NULL CHECK ERROR DEFAULT PRIMARY KEY|UNIQUE & 主索引|候選索引例如,定義一個(gè)名為“學(xué)生1.DBF”的數(shù)據(jù)庫表: CREATE TABLE 學(xué)生1(學(xué)號(hào) C(8) PRIMARY,; & 學(xué)號(hào)為主索引 姓名 C(8),性別 C(2) DEFUALT “男”,; & 性別的默認(rèn)值為“男” 出生日期 D,系別 C(10),貸款否 L,簡歷 M,照片 G NULL)化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2.2 表結(jié)構(gòu)的修改(1)格式1:添加或修改字段 ALTER TABLE ADD|ALTER (寬度,
4、小數(shù)位數(shù)) CHECK ERROR PRIMARY KEY | UNIQUE例如, 在“成績1”表中添加一個(gè)字段:平時(shí)成績 N(5) ALTER TABLE 成績1 ADD 平時(shí)成績 N(5) 將平時(shí)成績字段修改為 N(5,1) ALTER TABLE 成績1 ALTER 平時(shí)成績 N(5,1)化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2.2 表結(jié)構(gòu)的修改(2) 格式2:修改或刪除默認(rèn)值、字段有效性規(guī)則ALTER TABLE ALTER SET DEFAULT DROP DEFAULT SET CHECK DROP CHECK例如, 刪除“成績1”表中平時(shí)成績字段的有效性
5、規(guī)則: ALTER TABLE 成績1 ALTER 平時(shí)成績 DROP CHECK 將平時(shí)成績字段的默認(rèn)值設(shè)置為80: ALTER TABLE 成績1 ALTER 平時(shí)成績 SET DEFAULT 80化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2.2 表結(jié)構(gòu)的修改(3)格式3:刪除字段、更改字段名、設(shè)置記錄有效性規(guī)則等ALTER TABLE DROP & 刪除字段ENAME COLUMN TO & 更改字段名SET CHECK ERROR DROP CHECK & 設(shè)置或刪除記錄有效性規(guī)則ADD PRIMARY KEY TAG DROP PRIMA
6、RY KEY & 設(shè)置或刪除主復(fù)合索引表達(dá)式 ADD UNIQUE TAG DROP UNIQUE & 設(shè)置或刪除候選復(fù)合索引表達(dá)式 例:將“學(xué)生1”表中的“學(xué)號(hào)”字段更名為“學(xué)生證編號(hào)“ ALTER TABLE 學(xué)生1 RENAME COLUMN 學(xué)號(hào) TO 學(xué)生證編號(hào) 對“學(xué)生1”表中的“姓名”和“出生日期”字段建立主索引 ALTER TABLE 學(xué)生1 ADD PRIMARY KEY 姓名+DTOC(出生日期) TAG 姓名_生日 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.2.3 表的刪除(3)刪除表: DROP TABLE 例如,刪除“學(xué)生1”表
7、DROP TABLE 學(xué)生1化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.3 數(shù)據(jù)操縱 (1)插入記錄n 格式1:在表的尾部尾添加一條新記錄 INSERT INTO (字段1,字段2,) VALUES (值1,值2,) 說明:插入所有字段值時(shí),可省略 例如,向“學(xué)生1”表中添加兩條記錄: INSERT INTO 學(xué)生1 VALUES(“01020314”,”張紅”,“男”,; 1982/07/01,”計(jì)算機(jī)”,.T.,”張紅是北京人”,null) INSERT INTO 學(xué)生1(學(xué)號(hào),姓名) VALUES(“01020315”,”李蘭”)n 格式2:記錄值來自數(shù)組或同名的內(nèi)存
8、變量 INSERT INTO FROM ARRAY |FROM MEMVAR化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.3 數(shù)據(jù)操縱(2)刪除記錄 格式:DELETE FROM WHERE 說明:該命令執(zhí)行的是邏輯刪除操作。 例如,將“學(xué)生1”表中所有男生的記錄邏輯刪除: DELETE FOR 學(xué)生1 WHERE 性別 = “男”(3) 更新記錄 格式:UPDATE SET = WHERE 例如,將“學(xué)生1”表中所有男生的“貸款否”字段改為“.T.” UPDATE 學(xué)生1 SET 貸款否 = .T. WHERE 性別 = “男” 化學(xué)化工學(xué)院Visual FoxPro課程沒
9、有最好,只有更好8.4 數(shù)據(jù)查詢 數(shù)據(jù)查詢是SQL語言的核心,也稱作SQL-SELECT命令。使用SQL-SELECT命令,可以對數(shù)據(jù)源進(jìn)行各種組合,有效地篩選記錄、管理數(shù)據(jù)、并對結(jié)果排序及指定輸出去向等,無論查詢多么復(fù)雜,其內(nèi)容只有一條SELECT語句。 SQL-SELECT 命令可以進(jìn)行多個(gè)查詢塊的嵌套查詢,以完成更復(fù)雜的查詢?nèi)蝿?wù)?;瘜W(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢格式:SELECT DISTINCT TOP PERCENT . AS , . AS , FROM AS ,AS , INNER|LEFT|RIGHT|FULL JOIN ON INTO
10、 |TO FILE |TO PRINT WHERE AND GROUP BY HAVING ORDER BY , UNION SELECT 化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢1. 1. 基本查詢基本查詢:SELECTFROMWHERE 例如,從“學(xué)生”表中查詢所有男生的學(xué)號(hào)、姓名和出生日期: SELECT 學(xué)號(hào),姓名,出生日期 FROM 學(xué)生 WHERE 性別=“男”2. 2. 帶特殊運(yùn)算符的條件查詢:帶特殊運(yùn)算符的條件查詢:在 WHERE 子句所帶的篩選條件表達(dá)式中可以使用一些特殊運(yùn)算符,如 IN、BETWEENAND、LIKE 。 例如,查詢成績良
11、好(7585分)的學(xué)生和課程信息: SELECT * FROM 成績 WHERE 成績 BETWEEN 75 AND 85 3. 3. 排序查詢:排序查詢:使用 ORDER BY 子句,可以對查詢結(jié)果按升序(ASC)或降序(DESC)排列。 例如,按課程號(hào)輸出學(xué)生的各科成績,同一門課按成績降序排列: SELECT * FROM 成績 ORDER BY 課程號(hào), 成績 DESC化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢4.4.計(jì)算與分組查詢:計(jì)算與分組查詢:使用 GROUP BY 子句可以實(shí)現(xiàn)分組查詢,通常與計(jì)算查詢(如計(jì)數(shù)、求和、求平均值等)結(jié)合使用,先按指定
12、的數(shù)據(jù)項(xiàng)分組,再對各組匯總計(jì)算。 例如,查詢各門課程的平均成績: SELECT 課程號(hào),AVG(成績) AS 平均成績 FROM 成績 GROUP BY 課程號(hào)5. 5. 多表查詢:多表查詢:多表查詢時(shí),表和表之間必須有聯(lián)接關(guān)系,在WHERE子句中可以指定表間的聯(lián)接關(guān)系。其格式為: . = . 或 . = .例如,查詢各門課程的平均成績,要求輸出課程名和成績信息: SELECT 課程名,AVG(成績) AS 平均成績 FROM 課程 KC,成績 CJ;化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢6. 6. 聯(lián)接查詢聯(lián)接查詢:利用 FROMON 子句建立兩表之間的
13、聯(lián)接。 格式:FROM INNER | LEFT | RIGHT | FULL JION ON 說明:INNER JOIN(內(nèi)部聯(lián)接)、LEFT JOIN(左聯(lián)接)、RIGHT JOIN(右聯(lián)接)、FULL JOIN(全聯(lián)接)的含義與 4.1.2 節(jié)中相同。 例如, 查詢各門課程的平均成績,要求輸出課程名和成績信息: SELECT 課程名,AVG(成績) AS 平均成績 FROM 課程 KC ; INNER JOIN 成績 CJ; ON KC.課程號(hào) = CJ.課程號(hào) ;化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢7. 7. 嵌套查詢:嵌套查詢:在一個(gè) SELECT 命令的 WHERE 子句中出現(xiàn)另一個(gè) SELECT 命令(即子查詢)。 子查詢的結(jié)果必須是確定的值。 例如,查詢李華同學(xué)所學(xué)課程的課程名和成績: SELECT 課程名, 成績 FROM 課程 KC, 成績 CJ; WHERE KC.課程號(hào) = CJ.課程號(hào) ; AND CJ.學(xué)號(hào) = (SELECT 學(xué)號(hào) FROM 學(xué)生 WHERE 姓名 =“李華”) 子查詢WHERE 子句中同時(shí)包含聯(lián)接條件和篩選條件化學(xué)化工學(xué)院Visual FoxPro課程沒有最好,只有更好8.4 數(shù)據(jù)查詢8. 8. 查詢輸出:查詢輸出:查詢結(jié)果默認(rèn)顯示在瀏覽窗口中,通過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高級會(huì)計(jì)制度試題及答案
- 2024年深入理解高級會(huì)計(jì)試題及答案
- 2025年一級建造師考點(diǎn)歸納與試題及答案
- 一級消防工程試題及答案一覽
- 護(hù)士職業(yè)道德議題試題及答案解讀
- 一級消防考試課程內(nèi)容試題及答案
- 中級會(huì)計(jì)考試應(yīng)試心理與調(diào)節(jié)試題及答案
- 中級審計(jì)師職業(yè)態(tài)度與試題及答案的影響力
- 2025年二級消防工程師應(yīng)試策略試題及答案
- 建設(shè)項(xiàng)目管理的考試要求試題及答案
- 模擬退火與數(shù)論-深度研究
- 《防災(zāi)減災(zāi)專題培訓(xùn)》課件
- 2025年日歷表全年(打印版)完整清新每月一張
- 2025年中國外運(yùn)股份有限公司招聘筆試參考題庫含答案解析
- 駕照考試科目一試題900題(含標(biāo)準(zhǔn)答案)022506
- 水利項(xiàng)目立項(xiàng)報(bào)告
- 2024年浙江化工行業(yè)職業(yè)技能競賽(化工總控工賽項(xiàng))理論考試題庫及答案
- 馬工程管理學(xué)自測題
- 幼兒園初級保育員考試題庫(附答案)
- 【MOOC】航空燃?xì)鉁u輪發(fā)動(dòng)機(jī)結(jié)構(gòu)設(shè)計(jì)-北京航空航天大學(xué) 中國大學(xué)慕課MOOC答案
- 家政服務(wù)人員崗前培訓(xùn)
評論
0/150
提交評論