




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 數(shù)據(jù)庫(kù)及運(yùn)用程序開(kāi)發(fā) 關(guān)系數(shù)據(jù)庫(kù)規(guī)范言語(yǔ)SQL西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心4.1.3關(guān)系數(shù)據(jù)庫(kù)規(guī)范言語(yǔ)關(guān)系數(shù)據(jù)庫(kù)規(guī)范言語(yǔ)SQLn構(gòu)造化查詢(xún)言語(yǔ)(SQL,Structured Query Language)是關(guān)系數(shù)據(jù)庫(kù)的規(guī)范言語(yǔ)。它的主要功能包括:n數(shù)據(jù)定義:Data Defination Language(DDL)n數(shù)據(jù)查詢(xún): Data Query n數(shù)據(jù)支配:Data Manipulation Language(DML)n數(shù)據(jù)控制 : Data Control Language(DCL)2SQL特點(diǎn)n綜合一致:集數(shù)據(jù)定義言語(yǔ)綜合一致:集數(shù)據(jù)定義言語(yǔ)DDL、數(shù)據(jù)支配言語(yǔ)數(shù)據(jù)支配言語(yǔ)D
2、ML和數(shù)據(jù)控制言語(yǔ)和數(shù)據(jù)控制言語(yǔ)DCL于一體,綜合管理功能于一身。于一體,綜合管理功能于一身。n高度非過(guò)程化:用戶只需提出高度非過(guò)程化:用戶只需提出“做什么,做什么,而不需指明而不需指明“怎樣做。怎樣做。n面向集合的操作方式:用戶查詢(xún)、修正、面向集合的操作方式:用戶查詢(xún)、修正、的數(shù)據(jù)不是一條記錄,而是記錄的集合。的數(shù)據(jù)不是一條記錄,而是記錄的集合。SQL特點(diǎn)2n以同一語(yǔ)法構(gòu)造提供兩種運(yùn)用方式:用戶可以同一語(yǔ)法構(gòu)造提供兩種運(yùn)用方式:用戶可以從鍵盤(pán)運(yùn)用以從鍵盤(pán)運(yùn)用SQL命令,也可以將命令,也可以將SQL語(yǔ)句語(yǔ)句嵌入其他高級(jí)言語(yǔ)中。嵌入其他高級(jí)言語(yǔ)中。(PHP VC例如例如)n言語(yǔ)簡(jiǎn)約、易于運(yùn)用:語(yǔ)
3、句很少,言語(yǔ)簡(jiǎn)約、易于運(yùn)用:語(yǔ)句很少,n數(shù)據(jù)定義:數(shù)據(jù)定義:CTEATE DROP ALTERn數(shù)據(jù)支配:數(shù)據(jù)支配:INSERT UPDATE DELETEn數(shù)據(jù)查詢(xún):數(shù)據(jù)查詢(xún):SELECTn數(shù)據(jù)控制:數(shù)據(jù)控制:GRANT REVOTEn可以對(duì)根本表和視圖進(jìn)展查詢(xún)可以對(duì)根本表和視圖進(jìn)展查詢(xún)關(guān)系數(shù)據(jù)庫(kù)的三級(jí)方式構(gòu)造 nSQL Structured Query Language) n1 建立表nCREATE TABLE table_namen (column_name data-type consraint, )建立表nCREATE TABLE employeen(eid CHAR(6),nnam
4、e VARCHAR(8) NOT NULL,nage NUMERIC(3,0),ncountry VARCHAR(10) NULL)n/ NUMERIC(3,0) - NUMERIC建立表nCREATE TABLE employeen(eid CHAR(6) NOT NULL PRIMARY KEY,nname VARCHAR(8) NOT NULL,nage NUMERIC(3,0),ncountry VARCHAR(10) NULLn)ndrop table employee3 刪除數(shù)據(jù)表 SQL SERVER中常用的數(shù)據(jù)類(lèi)中常用的數(shù)據(jù)類(lèi)型型 n學(xué)號(hào)、身份證號(hào)等,運(yùn)用字符型數(shù)據(jù)2 插入記錄
5、nINSERT INTO 表名 列名表 VALUES 值表nINSERT INTO employee n(eid, name, age, country) nVALUES (3018, zhang, 28, China) nINSERT INTO employee nVALUES (3056, wang, 35, USA)nINSERT INTO employee n(eid, name, country) nVALUES (4025, li, Russia)2、 插入記錄3、修正記錄nUPDATE 表名 nSET 字段名=表達(dá)式 nWHERE 條件 nUPDATE employeenSET
6、name=Li MingnWHERE eid=4025nUPDATE employeenSET name=Zhang Li,nage=36,ncountry=USAnWHERE eid=3056n可以修正多個(gè)字段的值。假設(shè)不帶WHERE修正一切的記錄。4、刪除記錄nDELETE 表名nWHERE 條件nDELETE employeenWHERE eid=30185、 查詢(xún)記錄nSELECT 表達(dá)式 nFROM 表名表nWHERE 條件nGROUP BY 字段名表nHAVING 條件nORDER BY 字段名表 1 舉例nSELECT pub_id, pub_name, countrynFROM
7、 publishersnSELECT * nFROM publishers2 刪除反復(fù)的行DISTICT nSELECT city, statenFROM authersnSELECT DISTICT city, statenFROM authers 3 計(jì)算表達(dá)式 n nS E L E C T t i t l e _ i d , t y p e , p r i c e , price_price*0.3nFROM titlen nSELECT au_lname+.+au_fname, city+.+statenFROM authors4挑選條件 na條件:n比較= = != nprice45
8、.3ncountry=China n邏輯運(yùn)算nNOT AND OR nCountry=China AND age35 b舉例nSELECT title_id, type, price, price - price*0.3 nFROM titlesnWHERE price - price*0.318nSELECT pub_id, pub_namenFROM publishersnWHERE country=USA AND state=CA(c) LIKE n列名 NOT LIKE 方式n%: 恣意字符串, _:恣意一個(gè)字符n nSELECT au_lname+.+au_fname, city+.
9、+statenFROM authorsnWHERE au_fname LIKE D% nSELECT au_lname+.+au_fname, city+.+statenFROM authorsnWHERE au_id LIKE 72_-%其他的條件查詢(xún)(5) 結(jié)果排序nORDER BY 字段表n通常前往的結(jié)果是隨機(jī)陳列的。 nSELECT stor_name, citynFROM storesnORDER BY store_namenSELECT stor_name, citynFROM storesnORDER BY store_name DESCn nSELECT stor_name,
10、citynFROM storesnORDER BY store_name ASCnSELECT stor_name, citynFROM storesnORDER BY stor_name, city n用多個(gè)列陳列。n nSELECT stor_name, citynFROM storesnORDER BY staten用不出現(xiàn)的列。 (6) 統(tǒng)計(jì)函數(shù) nSELECT AVG(price)nFROM titlesn nSELECT MAX(price)nFROM titlesnWHERE type=businessnSELECT AVG(qty), SUM(qty), COUNT(DISTI
11、CT stor_id)nFROM salesn nSELECT COUNT*nFROM publishersnWHERE state=CA(7) 結(jié)果分組 nGROUP BY 分組列名表nSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE type in (business, mod_cook, trad_cook)nGROUP BY typeSELECT type, pub_id, AVG(price), SUM(price), COUNT(*)FROM titlesWHERE type in (business,
12、mod_cook, trad_cook)GROUP BY type, pub_idnGROUP BY 分組列名表nHAVING 條件n對(duì)GROUP的分組結(jié)果再進(jìn)一步挑選。 nSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE price$10nGROUP BY type運(yùn)用HAVINGnSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE price$10nGROUP BY typenHAVING AVG(price)$20運(yùn)用HAVING(8)
13、 多表查詢(xún)na笛卡爾乘積nSELECT title_id, au_fnamenFROM titles, authorsn nSELECT titles.title_id, titles.title, titleauthor.au_id nFROM titles, titleauthorb 別名nSELECT t.title_id, t.title, ta.au_id nFROM titles t, titleauthor tan nSELECT t.title_id, t.title, ta.au_id nFROM titles t, titleauthor tanWHERE t.title_
14、id=ta.title_idc挑選nSELECT t.title_id, a.au_id nFROM titles t, titleauthor ta, authors anWHERE t.title_id=ta.title_id and ta.au_id=a.au_id6 視圖 n(1視圖的定義nSQL建立視圖的語(yǔ)句格式為:nCREATE VIEW (,)nAS nCREATE VIEW au_viewnASnSELECT au_id, au_fname, au_lnamenFROM authorsnCREATE VIEW author_titlenASnSELECT t.title_id,
15、 a.au_id nFROM titles t, titleauthor ta, authors anW H E R E t . t i t l e _ i d = t a . t i t l e _ i d a n d ta.au_id=a.au_id(2)視圖查詢(xún)nSELECT * nFROM au_viewnSELECT t.title_id, a.au_id nFROM titles t, titleauthor ta, authors anWHERE t.title_id=ta.title_id and ta.au_id=a.au_id 3刪除視圖nDROP VIEW 視圖名n nD
16、ROP VIEW a_authors7、索引n索引可以極大地提高查詢(xún)的速度 n索引可以建在一列或幾列上 n有ASC(升序)和DESC(降序) n1索引類(lèi)型n按照存儲(chǔ)位置:聚集索引和非聚集索引。n按照關(guān)鍵字值能否獨(dú)一:獨(dú)一索引和非獨(dú)一所以。2建立索引nCREATE UNIQUE CLUSTERED | NOCLUSTERED INDEX 索引名nON 表名 列名表nCREATE UNIQUE INDEX id_index nON authors (au_id)nCREATE INDEX id_index nON authors ( au_fname DESC,au_id)nCREATE CLUS
17、TERED INDEX id_index nON authors ( au_fname DESC,au_id)3刪除索引nDROP INDEX 表名.索引名n nDROP INDEX authors.id_index8、數(shù)據(jù)控制n數(shù)據(jù)控制也稱(chēng)為數(shù)據(jù)維護(hù)n經(jīng)過(guò)對(duì)數(shù)據(jù)庫(kù)用戶的運(yùn)用權(quán)限加以限制而保證數(shù)據(jù)平安的重要措施。nSQL言語(yǔ)提供一定的數(shù)據(jù)控制功能,能在一定程度上保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的完全性和完好性,并提供了一定的并發(fā)控制及恢復(fù)才干。nSQL的數(shù)據(jù)控制語(yǔ)句包括授權(quán)(Grant)、收權(quán)(Revoke)和回絕訪問(wèn)(Deny)三種,其權(quán)限的設(shè)置對(duì)象可以是數(shù)據(jù)庫(kù)用戶或用戶組。 1授權(quán) nGRANT語(yǔ)句向用戶授予操作權(quán)限 nGRANT , n ON nTO , | PUBLICnWITH GRANT O
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 駕駛未來(lái):自動(dòng)化之路
- 國(guó)際授權(quán)合同范本
- 國(guó)企房產(chǎn)轉(zhuǎn)讓合同范本
- 入學(xué)申請(qǐng)書(shū)模板范文大全
- SQL數(shù)據(jù)庫(kù)練習(xí)卷含答案
- 液壓與氣動(dòng)技術(shù) 第2版 課件 項(xiàng)目七 多缸動(dòng)作回路的設(shè)計(jì)與構(gòu)建
- 答辯精要與前瞻指導(dǎo)
- 商場(chǎng)樓頂維修合同范例
- 商鋪房間出租合同范本
- 租賃合同終止協(xié)議范本匯編
- 苗族文化小鎮(zhèn)規(guī)劃方案
- 仔豬購(gòu)銷(xiāo)合同(豬苗購(gòu)銷(xiāo)合同)1
- 供電公司一把手講安全
- 中國(guó)常見(jiàn)食物營(yíng)養(yǎng)成分表
- 光伏車(chē)棚方案
- 工藝部述職報(bào)告
- 廣東中考美術(shù)知識(shí)點(diǎn)
- 臨床科室科研用藥管理制度
- 多層光柵結(jié)構(gòu)的防偽技術(shù)研究
- 《國(guó)有企業(yè)采購(gòu)操作規(guī)范》【2023修訂版】
- 五年級(jí)語(yǔ)文下冊(cè)第五單元【教材解讀】-【單元先導(dǎo)課】
評(píng)論
0/150
提交評(píng)論