下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、昨日回顧2數(shù)據(jù)控制語言3用戶管理3用戶數(shù)據(jù)所在位置:3創(chuàng)建用戶:4刪除用戶:5修改用戶: .5權(quán)限管理5權(quán)限是什么?5授予權(quán)限:7權(quán)限:7事務(wù)控制語言7什么叫做“事務(wù)”:7事務(wù)的特點(diǎn):8事務(wù)模式:8事務(wù)執(zhí)行的基本流程9編程11編程中語句塊包含符:11流程控制語句12if 語句:12case 語句:12loop 循環(huán)語句14while 循環(huán)14repeat 循環(huán)15leave 語句:15中的變量:15普通變量: 不帶“”符號;15會(huì)話變量: 帶“”符號;16變量賦值有如下形式:16()函數(shù):17定義形式:18調(diào)用形式:19刪除函數(shù):19過程 procedure19定義形式:19過程:20過程:2
2、1調(diào)用刪除在中使用函數(shù)或過程的示意21觸發(fā)器(trigger)22含義:22定義形式:22昨日回顧連接查詢基本概念:就是將 2 個(gè)表的每一行兩兩“橫接”而成的最終結(jié)果。連接基本形式:表 1【連接形式】 join表 2 【on 連接條件】連接的分類交叉連接 crossjoin:表 1【cross】 join表 2內(nèi)連接 innerjoin:內(nèi)連接是最重要也最有意義的連接,它就是將兩個(gè)表交叉連接之后的結(jié)果數(shù)據(jù)中取得滿足所 給定的連接條件的那些數(shù)據(jù)行。此連接條件,通?;旧弦簿褪潜砀碇g的 “外鍵關(guān)系”雖然不一定非要在表上建立該關(guān)系(外鍵約束)才能使用此連接形式。表 1【inner】 join表
3、2on 連接條件連接的條件的形式是: 表 1.字段 1 = 表 2.字段 2左(外)連接 left (outer) join:就是將內(nèi)連接的結(jié)果,加上,左邊表不能滿足連接條件的那些行的數(shù)據(jù)對應(yīng)的右邊的部分用 null 填充。表 1left【outer】 join表 2on 連接條件右(外)連接 right (outer) join:就是將內(nèi)連接的結(jié)果,加上,右邊表不能滿足連接條件的那些行的數(shù)據(jù)對應(yīng)的左邊的部分用 null 填充。表 1right【outer】 join表 2on 連接條件全(外)連接 full (outer) join:子查詢基本含義一個(gè)查詢語句 A 中的“部分位置”的數(shù)據(jù),又
4、來源于一個(gè)查詢語句 B,此時(shí) B 就是子查詢,A 就相應(yīng)的是主查詢;通常來說,子查詢是為主查詢服務(wù)的。按子查詢結(jié)果,分為:表子查詢:就是多行多列的結(jié)果; 行子查詢:就是一行多列的結(jié)果; 列子查詢:就是多行一列的結(jié)果; 標(biāo)量子查詢:就是一行一列的結(jié)果;子查詢,按位置(場合)分:select字段或表達(dá)式或(子查詢) from表或(子查詢)(子查詢)常見子查詢比較運(yùn)算符中的子查詢whereXX運(yùn)算符 值或XX比較運(yùn)算符(標(biāo)量子查詢)使用 in 的子查詢XXin(列子查詢)列子查詢的結(jié)果,要看做是“多個(gè)數(shù)據(jù)”,類似這樣情形: XXin(值 1,值 2, )使用 any 的子查詢:. 該列子查詢的結(jié)果中
5、,有任何其中一個(gè)值,滿足該比較運(yùn)算,就算是滿足條件了XX比較運(yùn)算符 any(列子查詢)使用 all 的子查詢:. 該列子查詢的結(jié)果中,所有值都滿足該比較運(yùn)算,才算是滿足條件了XX比較運(yùn)算符 all(列子查詢)使用 some 的子查詢:是 any 的同義詞;使用 exists 的查詢:形式: whereexists(子查詢)含義: 子查詢結(jié)果有數(shù)據(jù),就表示真(true),否則表示 false說明:原始意義上,該子查詢,幾乎沒有實(shí)用價(jià)值。但,應(yīng)用中,常常會(huì)在子查詢中,實(shí)用主查詢的數(shù)據(jù)(字),并作為子查詢的判斷條件,此時(shí)就會(huì)在系統(tǒng)件進(jìn)行一定的數(shù)據(jù)篩選;聯(lián)合查詢基本概念:“隱蔽”接查詢,這樣就可以該條
6、件作為連接條就是將兩個(gè)字段數(shù)量相等的查詢結(jié)果,以“上下堆疊”的方式合并為一個(gè)查詢結(jié)果的查詢方式。語法形式:select union select細(xì)節(jié):語句 1;【 all |disctinct 】語句 2;1,最終的結(jié)果字段,以第一個(gè)表為準(zhǔn);2,order by和 limit 子句,是對整個(gè)最終結(jié)果有效的。數(shù)據(jù)控制語言數(shù)據(jù)控制語言,是用于對的用戶及其權(quán)限進(jìn)行管理的語句;用戶管理用戶數(shù)據(jù)所在位置:)中的 user 表中不管哪個(gè)數(shù)據(jù)庫的用戶,都中的所有用戶,都在系統(tǒng)數(shù)據(jù)庫(在這里。表初始內(nèi)容如下:創(chuàng)建用戶:形式:createuser用戶名允許登錄的地址/服務(wù)器 identifiedby說明:;1,
7、允許登錄的地址/服務(wù)器就是,允許該設(shè)定的位置,來使用該設(shè)定的用戶名和行;登錄,其他位置不2,可見,舉例:的安全驗(yàn)證,需要 3 個(gè)信息。查看中的 user 表:則某同學(xué)登錄的結(jié)果為:刪除用戶:dropuser用戶名允許登錄的地址或服務(wù)器名;修改用戶:修改自己的:set password = password();修改他人的(前提是限):set passwordfor用戶名允許登錄的地址 = password();權(quán)限管理權(quán)限是什么?數(shù)據(jù)庫,將其中所能做的所有事情,都分門別類分配到大約 30 多個(gè)權(quán)限中去了,其中每個(gè)權(quán)限,都是一個(gè)“單詞”而已!,比如:select:代表可以查詢數(shù)據(jù); update
8、:代表可以修改數(shù)據(jù); delete:代表可以刪除數(shù)據(jù);.其中,有一個(gè)權(quán)限名叫做“all”:表示所有如下權(quán)限:限;另一個(gè)表現(xiàn)形式(帶中文說明):授予權(quán)限:形式:grant權(quán)限列表 on某庫某個(gè)對象 to用戶名允許登錄的位置 【identifiedby】;說明:1,權(quán)限列表,就是,多個(gè)權(quán)限的名詞,相互之間用逗號分開,比如:select,insert,update也可以寫:all2,某庫某個(gè)對象,表示,給指定的某個(gè)數(shù)據(jù)庫中的某個(gè)“下級”賦權(quán);下級有:表名,視圖名,過程名;函數(shù)名;其中,有 2 個(gè)特殊的語法:*.*:代表所有數(shù)據(jù)庫中的所有下級 某庫* :代表指定的該庫中的所有下級;3,【identif
9、iedby但:如果該用戶不】是可省略部分,如果不省略,就表示賦權(quán)的同時(shí),也去修改它的;,此時(shí)其實(shí)就是創(chuàng)建一個(gè)新用戶;并此時(shí)就必須設(shè)置其了權(quán)限:形式:revoke權(quán)限列表 on某庫某個(gè)對象 from用戶名允許登錄的位置其含義,跟 grant 中完全一樣;事務(wù)控制語言什么叫做“事務(wù)”:想象一個(gè)場景:給匯款 5000 元 買,操作界面不用管,不管什么操作界面,最終都要到這樣兩條語句的執(zhí)行:updateupdate存款表 setmoney = money - 5000where賬戶=存款表 setmoney = money + 5000where賬戶=;當(dāng),第一條語句執(zhí)行成功,突然斷電了(或任何其他情
10、況),就會(huì)造成數(shù)據(jù)的“不一致”。要解決這個(gè)問題,就是“事務(wù)”的功能:事務(wù)就是用來保證多條“增刪改”語句的執(zhí)行的“一致性”:要么都執(zhí)行完成,要么都沒有執(zhí)行;事務(wù)的特點(diǎn):原子性:一個(gè)事務(wù)中的所有語句,應(yīng)該做到:要么全做,要么一個(gè)都不做;一致性:讓數(shù)據(jù)保持邏輯上的“合理性”,比如:一個(gè)商品出庫時(shí),既要讓商品庫中的該商品數(shù)量減 1,又要讓對應(yīng)用戶的購物車中的該商品加 1;性:如果多個(gè)事務(wù)同時(shí)并發(fā)執(zhí)行,但每個(gè)事務(wù)就像各自獨(dú)立執(zhí)行一樣。持久性:一個(gè)事務(wù)執(zhí)行成功,則對數(shù)據(jù)來說應(yīng)該是一個(gè)明確的硬盤數(shù)據(jù)更改(而不僅僅是內(nèi)存中的變化)。事務(wù)模式:事務(wù)模式是指:在的cmd 命令行模式中,是否開啟了“一條語句就是一個(gè)
11、事務(wù)”的這個(gè)開關(guān):默認(rèn)情況下(安裝后),這個(gè)模式是開啟的,稱為“自動(dòng)提交模式”;setmit = 1;這樣之后,每條增刪改語句,都會(huì)立即生效;可以把它關(guān)閉,那就是“人為提交模式”即需要人為提交;setmit = 0;這樣之后,所有增刪改語句,都必須使用 commit 之后,才能生效;首先,現(xiàn)在,以前的經(jīng)驗(yàn)都是:一條增刪改語句,一旦回車,執(zhí)行就完成(前提是不出錯(cuò));關(guān)閉該模式:然后,再去執(zhí)行一條簡單的 insert 語句:對比:執(zhí)行前:然后,執(zhí)行 insert:但是,再查看結(jié)果,即 insert 執(zhí)行之后,數(shù)據(jù)并沒有出現(xiàn):然后,再去“人為提交”:然后,再核查數(shù)據(jù),就有了:事務(wù)執(zhí)行的基本流程1,開
12、啟一個(gè)事務(wù):starttranion;/也可以寫成:begin;2,執(zhí)行多條增刪改語句; /也就是相當(dāng)于希望這多條語句要作為一個(gè)“不可分割”的整體去執(zhí)行的任務(wù)3,判斷這些語句執(zhí)行的結(jié)果情況,并進(jìn)行提交或回滾: if(沒有出錯(cuò) )commit;/提交事務(wù);此時(shí)就是完成;elserollback;/回滾事務(wù);此時(shí)就是全部撤銷;具體分 2 種情況來做:在 cmd 中,就是憑“肉眼”觀察是否有錯(cuò):沒有錯(cuò)誤的情況:有錯(cuò)誤的情況:在中:編程編程中語句塊包含符:其實(shí)就是相當(dāng)于 js 或中大括號語法:標(biāo)識符:begin/語句。 end標(biāo)識符;標(biāo)識符就是定義定義的任意的名字而已,比如:if(條件判斷) begi
13、n/。end; end if;if(條件判斷)A:begin/。endA;end if;A 就是標(biāo)識符,它的作用是“標(biāo)識”該語句塊,以期可以在該語句塊中“使用它”其實(shí)就是退出;流程控制語句if 語句:case 語句:相當(dāng)于之前的 switch,它有兩種語法:語法 1 示意代碼:casev1when1then begin/.end;when2then begin/.end; else begin/.end; end case;說明:/如果v1 等于 1,則表示滿足條件,進(jìn)入這個(gè)分支;v1 表示一個(gè)變量;后面都這樣。語法 2 示意代碼:casewhenv1 0then /如果該條件滿足,就執(zhí)行這個(gè)
14、分支,否則就繼續(xù)判斷下一個(gè)條件。 begin/.end;whenv1 0then begin/.end; else begin/.end;endcase;loop 循環(huán)語句標(biāo)識符:loop begin/這里就是循環(huán)的語句塊。/注意:這里必須有一個(gè)“退出循環(huán)”的邏輯機(jī)制;否則該循環(huán)就是死循環(huán),其基本形式類似這樣: if (條件) thenleaveendif;標(biāo)識符;/退出;end;endloop標(biāo)識符while 循環(huán)舉例:setv1= 1;whilev1 = 10 endrepeat;leave 語句:語法:leave 標(biāo)識符;作用:用來退出 begin.end 結(jié)構(gòu)或其他具有標(biāo)識符的結(jié)構(gòu)。中
15、的變量:中,有兩種變量形式:普通變量: 不帶“”符號;定義形式:declare變量名 類型名【default默認(rèn)值】;/普通變量必須先這樣定義賦值形式:set變量名 =值;取值:就直接使用變量名;使用“場所”:只能在“編程環(huán)境”中使用;編程環(huán)境?只有 3 個(gè):1,定義函數(shù)的;2,定義過程的;3,定義觸發(fā)器的;會(huì)話變量: 帶“”符號;定義形式(其實(shí)也是賦值形式):set變量名 =值;取值:就直接使用變量名;/跟類似,無需定義,直接賦值,第一次就算是定義使用“場所”:基本上哪里都可以用;變量賦值有如下形式:語法 1(針對普通變量):set 變量名 = 表達(dá)式;#此語法中的變量必須先使用 decla
16、re語法 2(針對會(huì)話變量):set 變量名 = 表達(dá)式; #此方式可以無需 declare 語法,而是直接賦值,類似語法 3(針對會(huì)話變量):定義變量并賦值。o select 變量名 := 表達(dá)式;#此語句會(huì)給該變量賦值,同時(shí)還會(huì)作為一個(gè) select 語句輸出“結(jié)果集”。語法 4(針對會(huì)話變量):o select 表達(dá)式o 變量名;#此語句雖然看起來是 select 語句,但其實(shí)并不輸出“結(jié)果集”,而只是給變量賦值。()函數(shù):函數(shù),也說成“唯一的區(qū)別:函數(shù)”,其實(shí)就是 js 或中所說的函數(shù)!這里的函數(shù)必須返回一個(gè)數(shù)據(jù)(值);定義形式:注意事項(xiàng):1,2,3, 舉例:在函數(shù)內(nèi)容,可以有各種變量
17、和流程控制的使用;在函數(shù)在函數(shù),也可以有各種增刪改語句;,不可以有 select 或其他“返回結(jié)果集”的查詢類語句;調(diào)用形式:跟調(diào)用函數(shù)一樣!比如:selectnow(),8+3 as f2,或如果在編程語句中: setv1 = now();setv2 = func1();func1();/這里,now()是系統(tǒng)函數(shù);func1()是自定義函數(shù)。刪除函數(shù):dropfunction函數(shù)名;過程 procedure過程,其本質(zhì)還是函數(shù)但其規(guī)定:不能有返回值;定義形式:說明:1,in:用于設(shè)定該變量是用來“接收實(shí)參數(shù)據(jù)”的,即“傳入”;默認(rèn)不寫,就是 in2,out:用于設(shè)定該變量是用來“過程中的數(shù)
18、據(jù)”的,即“傳出”,即函數(shù)中必須對他賦值;3,inout:是 in 和out 的結(jié)合,具有雙向作用;4,對于,out 和 inout 設(shè)定,對應(yīng)的實(shí)參,就“必須”是一個(gè)變量,因?yàn)樵撟兞渴怯糜凇敖邮諅鞒鰯?shù)據(jù)”;調(diào)用過程:call過程名 (實(shí)參 1,實(shí)參 2,)它應(yīng)該是在“非編程環(huán)境中”調(diào)用,即執(zhí)行增刪改查的場景下;舉例 1:#創(chuàng)建一個(gè)過程:#該過程的目標(biāo)是:將 3 個(gè)數(shù)據(jù)寫入到表 tab_;#并返回該表的第一個(gè)字段的前 3 大值的行調(diào)用:舉例 2(使用 in,out,inout):下面使用正確調(diào)用方法:刪除過程:dropprocedure過程名;在中使用函數(shù)或過程的示意觸發(fā)器(trigger)含義:觸發(fā)器,也是一段預(yù)先定義好的編程代碼(跟但:過程和函數(shù)一樣),并有個(gè)名字。它不能調(diào)用,而是,在某個(gè)表發(fā)生某個(gè)事件(增,刪,改)的時(shí)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度米面產(chǎn)品冷鏈物流配送服務(wù)合同4篇
- 2025年度模特影視廣告模特聘用合同協(xié)議
- 二零二五年度奶牛養(yǎng)殖信息化管理系統(tǒng)采購合同4篇
- 2025年度藝術(shù)品抵押貸款服務(wù)合同
- 杯間乾坤酒中情懷中國傳統(tǒng)文化之酒文化講解
- 2025年度個(gè)人房產(chǎn)托管服務(wù)合同范本2篇
- 上海國資國企創(chuàng)新基地2024年度區(qū)塊鏈創(chuàng)新應(yīng)用白皮書
- 二零二五年度環(huán)保污染治理設(shè)施運(yùn)營合同4篇
- 二零二五年度房地產(chǎn)項(xiàng)目營銷策劃合同
- 課題申報(bào)參考:農(nóng)村婦女土地權(quán)益特殊保障制度研究-基于浙江、四川、貴州12區(qū)縣的實(shí)證分析
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 安徽省合肥市2025年高三第一次教學(xué)質(zhì)量檢測地理試題(含答案)
- 計(jì)劃合同部部長述職報(bào)告范文
- 風(fēng)光儲(chǔ)儲(chǔ)能項(xiàng)目PCS艙、電池艙吊裝方案
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專題培訓(xùn)課件
- 二手車車主寄售協(xié)議書范文范本
- 窗簾采購?fù)稑?biāo)方案(技術(shù)方案)
- 基于學(xué)習(xí)任務(wù)群的小學(xué)語文單元整體教學(xué)設(shè)計(jì)策略的探究
- 高中英語原版小說整書閱讀指導(dǎo)《奇跡男孩》(wonder)-Part one 講義
- GB/T 9755-2001合成樹脂乳液外墻涂料
評論
0/150
提交評論