




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、昨日回顧2數據控制語言3用戶管理3用戶數據所在位置:3創(chuàng)建用戶:4刪除用戶:5修改用戶: .5權限管理5權限是什么?5授予權限:7權限:7事務控制語言7什么叫做“事務”:7事務的特點:8事務模式:8事務執(zhí)行的基本流程9編程11編程中語句塊包含符:11流程控制語句12if 語句:12case 語句:12loop 循環(huán)語句14while 循環(huán)14repeat 循環(huán)15leave 語句:15中的變量:15普通變量: 不帶“”符號;15會話變量: 帶“”符號;16變量賦值有如下形式:16()函數:17定義形式:18調用形式:19刪除函數:19過程 procedure19定義形式:19過程:20過程:2
2、1調用刪除在中使用函數或過程的示意21觸發(fā)器(trigger)22含義:22定義形式:22昨日回顧連接查詢基本概念:就是將 2 個表的每一行兩兩“橫接”而成的最終結果。連接基本形式:表 1【連接形式】 join表 2 【on 連接條件】連接的分類交叉連接 crossjoin:表 1【cross】 join表 2內連接 innerjoin:內連接是最重要也最有意義的連接,它就是將兩個表交叉連接之后的結果數據中取得滿足所 給定的連接條件的那些數據行。此連接條件,通?;旧弦簿褪潜砀碇g的 “外鍵關系”雖然不一定非要在表上建立該關系(外鍵約束)才能使用此連接形式。表 1【inner】 join表
3、2on 連接條件連接的條件的形式是: 表 1.字段 1 = 表 2.字段 2左(外)連接 left (outer) join:就是將內連接的結果,加上,左邊表不能滿足連接條件的那些行的數據對應的右邊的部分用 null 填充。表 1left【outer】 join表 2on 連接條件右(外)連接 right (outer) join:就是將內連接的結果,加上,右邊表不能滿足連接條件的那些行的數據對應的左邊的部分用 null 填充。表 1right【outer】 join表 2on 連接條件全(外)連接 full (outer) join:子查詢基本含義一個查詢語句 A 中的“部分位置”的數據,又
4、來源于一個查詢語句 B,此時 B 就是子查詢,A 就相應的是主查詢;通常來說,子查詢是為主查詢服務的。按子查詢結果,分為:表子查詢:就是多行多列的結果; 行子查詢:就是一行多列的結果; 列子查詢:就是多行一列的結果; 標量子查詢:就是一行一列的結果;子查詢,按位置(場合)分:select字段或表達式或(子查詢) from表或(子查詢)(子查詢)常見子查詢比較運算符中的子查詢whereXX運算符 值或XX比較運算符(標量子查詢)使用 in 的子查詢XXin(列子查詢)列子查詢的結果,要看做是“多個數據”,類似這樣情形: XXin(值 1,值 2, )使用 any 的子查詢:. 該列子查詢的結果中
5、,有任何其中一個值,滿足該比較運算,就算是滿足條件了XX比較運算符 any(列子查詢)使用 all 的子查詢:. 該列子查詢的結果中,所有值都滿足該比較運算,才算是滿足條件了XX比較運算符 all(列子查詢)使用 some 的子查詢:是 any 的同義詞;使用 exists 的查詢:形式: whereexists(子查詢)含義: 子查詢結果有數據,就表示真(true),否則表示 false說明:原始意義上,該子查詢,幾乎沒有實用價值。但,應用中,常常會在子查詢中,實用主查詢的數據(字),并作為子查詢的判斷條件,此時就會在系統(tǒng)件進行一定的數據篩選;聯(lián)合查詢基本概念:“隱蔽”接查詢,這樣就可以該條
6、件作為連接條就是將兩個字段數量相等的查詢結果,以“上下堆疊”的方式合并為一個查詢結果的查詢方式。語法形式:select union select細節(jié):語句 1;【 all |disctinct 】語句 2;1,最終的結果字段,以第一個表為準;2,order by和 limit 子句,是對整個最終結果有效的。數據控制語言數據控制語言,是用于對的用戶及其權限進行管理的語句;用戶管理用戶數據所在位置:)中的 user 表中不管哪個數據庫的用戶,都中的所有用戶,都在系統(tǒng)數據庫(在這里。表初始內容如下:創(chuàng)建用戶:形式:createuser用戶名允許登錄的地址/服務器 identifiedby說明:;1,
7、允許登錄的地址/服務器就是,允許該設定的位置,來使用該設定的用戶名和行;登錄,其他位置不2,可見,舉例:的安全驗證,需要 3 個信息。查看中的 user 表:則某同學登錄的結果為:刪除用戶:dropuser用戶名允許登錄的地址或服務器名;修改用戶:修改自己的:set password = password();修改他人的(前提是限):set passwordfor用戶名允許登錄的地址 = password();權限管理權限是什么?數據庫,將其中所能做的所有事情,都分門別類分配到大約 30 多個權限中去了,其中每個權限,都是一個“單詞”而已!,比如:select:代表可以查詢數據; update
8、:代表可以修改數據; delete:代表可以刪除數據;.其中,有一個權限名叫做“all”:表示所有如下權限:限;另一個表現形式(帶中文說明):授予權限:形式:grant權限列表 on某庫某個對象 to用戶名允許登錄的位置 【identifiedby】;說明:1,權限列表,就是,多個權限的名詞,相互之間用逗號分開,比如:select,insert,update也可以寫:all2,某庫某個對象,表示,給指定的某個數據庫中的某個“下級”賦權;下級有:表名,視圖名,過程名;函數名;其中,有 2 個特殊的語法:*.*:代表所有數據庫中的所有下級 某庫* :代表指定的該庫中的所有下級;3,【identif
9、iedby但:如果該用戶不】是可省略部分,如果不省略,就表示賦權的同時,也去修改它的;,此時其實就是創(chuàng)建一個新用戶;并此時就必須設置其了權限:形式:revoke權限列表 on某庫某個對象 from用戶名允許登錄的位置其含義,跟 grant 中完全一樣;事務控制語言什么叫做“事務”:想象一個場景:給匯款 5000 元 買,操作界面不用管,不管什么操作界面,最終都要到這樣兩條語句的執(zhí)行:updateupdate存款表 setmoney = money - 5000where賬戶=存款表 setmoney = money + 5000where賬戶=;當,第一條語句執(zhí)行成功,突然斷電了(或任何其他情
10、況),就會造成數據的“不一致”。要解決這個問題,就是“事務”的功能:事務就是用來保證多條“增刪改”語句的執(zhí)行的“一致性”:要么都執(zhí)行完成,要么都沒有執(zhí)行;事務的特點:原子性:一個事務中的所有語句,應該做到:要么全做,要么一個都不做;一致性:讓數據保持邏輯上的“合理性”,比如:一個商品出庫時,既要讓商品庫中的該商品數量減 1,又要讓對應用戶的購物車中的該商品加 1;性:如果多個事務同時并發(fā)執(zhí)行,但每個事務就像各自獨立執(zhí)行一樣。持久性:一個事務執(zhí)行成功,則對數據來說應該是一個明確的硬盤數據更改(而不僅僅是內存中的變化)。事務模式:事務模式是指:在的cmd 命令行模式中,是否開啟了“一條語句就是一個
11、事務”的這個開關:默認情況下(安裝后),這個模式是開啟的,稱為“自動提交模式”;setmit = 1;這樣之后,每條增刪改語句,都會立即生效;可以把它關閉,那就是“人為提交模式”即需要人為提交;setmit = 0;這樣之后,所有增刪改語句,都必須使用 commit 之后,才能生效;首先,現在,以前的經驗都是:一條增刪改語句,一旦回車,執(zhí)行就完成(前提是不出錯);關閉該模式:然后,再去執(zhí)行一條簡單的 insert 語句:對比:執(zhí)行前:然后,執(zhí)行 insert:但是,再查看結果,即 insert 執(zhí)行之后,數據并沒有出現:然后,再去“人為提交”:然后,再核查數據,就有了:事務執(zhí)行的基本流程1,開
12、啟一個事務:starttranion;/也可以寫成:begin;2,執(zhí)行多條增刪改語句; /也就是相當于希望這多條語句要作為一個“不可分割”的整體去執(zhí)行的任務3,判斷這些語句執(zhí)行的結果情況,并進行提交或回滾: if(沒有出錯 )commit;/提交事務;此時就是完成;elserollback;/回滾事務;此時就是全部撤銷;具體分 2 種情況來做:在 cmd 中,就是憑“肉眼”觀察是否有錯:沒有錯誤的情況:有錯誤的情況:在中:編程編程中語句塊包含符:其實就是相當于 js 或中大括號語法:標識符:begin/語句。 end標識符;標識符就是定義定義的任意的名字而已,比如:if(條件判斷) begi
13、n/。end; end if;if(條件判斷)A:begin/。endA;end if;A 就是標識符,它的作用是“標識”該語句塊,以期可以在該語句塊中“使用它”其實就是退出;流程控制語句if 語句:case 語句:相當于之前的 switch,它有兩種語法:語法 1 示意代碼:casev1when1then begin/.end;when2then begin/.end; else begin/.end; end case;說明:/如果v1 等于 1,則表示滿足條件,進入這個分支;v1 表示一個變量;后面都這樣。語法 2 示意代碼:casewhenv1 0then /如果該條件滿足,就執(zhí)行這個
14、分支,否則就繼續(xù)判斷下一個條件。 begin/.end;whenv1 0then begin/.end; else begin/.end;endcase;loop 循環(huán)語句標識符:loop begin/這里就是循環(huán)的語句塊。/注意:這里必須有一個“退出循環(huán)”的邏輯機制;否則該循環(huán)就是死循環(huán),其基本形式類似這樣: if (條件) thenleaveendif;標識符;/退出;end;endloop標識符while 循環(huán)舉例:setv1= 1;whilev1 = 10 endrepeat;leave 語句:語法:leave 標識符;作用:用來退出 begin.end 結構或其他具有標識符的結構。中
15、的變量:中,有兩種變量形式:普通變量: 不帶“”符號;定義形式:declare變量名 類型名【default默認值】;/普通變量必須先這樣定義賦值形式:set變量名 =值;取值:就直接使用變量名;使用“場所”:只能在“編程環(huán)境”中使用;編程環(huán)境?只有 3 個:1,定義函數的;2,定義過程的;3,定義觸發(fā)器的;會話變量: 帶“”符號;定義形式(其實也是賦值形式):set變量名 =值;取值:就直接使用變量名;/跟類似,無需定義,直接賦值,第一次就算是定義使用“場所”:基本上哪里都可以用;變量賦值有如下形式:語法 1(針對普通變量):set 變量名 = 表達式;#此語法中的變量必須先使用 decla
16、re語法 2(針對會話變量):set 變量名 = 表達式; #此方式可以無需 declare 語法,而是直接賦值,類似語法 3(針對會話變量):定義變量并賦值。o select 變量名 := 表達式;#此語句會給該變量賦值,同時還會作為一個 select 語句輸出“結果集”。語法 4(針對會話變量):o select 表達式o 變量名;#此語句雖然看起來是 select 語句,但其實并不輸出“結果集”,而只是給變量賦值。()函數:函數,也說成“唯一的區(qū)別:函數”,其實就是 js 或中所說的函數!這里的函數必須返回一個數據(值);定義形式:注意事項:1,2,3, 舉例:在函數內容,可以有各種變量
17、和流程控制的使用;在函數在函數,也可以有各種增刪改語句;,不可以有 select 或其他“返回結果集”的查詢類語句;調用形式:跟調用函數一樣!比如:selectnow(),8+3 as f2,或如果在編程語句中: setv1 = now();setv2 = func1();func1();/這里,now()是系統(tǒng)函數;func1()是自定義函數。刪除函數:dropfunction函數名;過程 procedure過程,其本質還是函數但其規(guī)定:不能有返回值;定義形式:說明:1,in:用于設定該變量是用來“接收實參數據”的,即“傳入”;默認不寫,就是 in2,out:用于設定該變量是用來“過程中的數
18、據”的,即“傳出”,即函數中必須對他賦值;3,inout:是 in 和out 的結合,具有雙向作用;4,對于,out 和 inout 設定,對應的實參,就“必須”是一個變量,因為該變量是用于“接收傳出數據”;調用過程:call過程名 (實參 1,實參 2,)它應該是在“非編程環(huán)境中”調用,即執(zhí)行增刪改查的場景下;舉例 1:#創(chuàng)建一個過程:#該過程的目標是:將 3 個數據寫入到表 tab_;#并返回該表的第一個字段的前 3 大值的行調用:舉例 2(使用 in,out,inout):下面使用正確調用方法:刪除過程:dropprocedure過程名;在中使用函數或過程的示意觸發(fā)器(trigger)含義:觸發(fā)器,也是一段預先定義好的編程代碼(跟但:過程和函數一樣),并有個名字。它不能調用,而是,在某個表發(fā)生某個事件(增,刪,改)的時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)互聯(lián)網平臺數字水印技術標準制定與實施研究報告
- 鄉(xiāng)村振興人才培育體系構建與政策支持研究報告
- 醫(yī)療器械臨床試驗質量管理規(guī)范化與臨床試驗研究設計優(yōu)化策略
- 提高技巧軟件設計師考試試題及答案
- 貴州貴州貴安發(fā)展集團有限公司招聘考試真題2024
- 2025年文化旅游融合發(fā)展示范區(qū)建設資金申請項目投資收益預測報告
- 西方政治制度與創(chuàng)新政策的互動性研究試題及答案
- 深度解讀2025年西方政治試題及答案
- 軟件測試團隊協(xié)作的最佳實踐試題及答案
- 2025年電動汽車電池熱管理技術標準與認證研究報告
- 恒生筆試題及答案
- 找人辦事花錢協(xié)議書
- 2024-2025學年青島版(五四學制)小學數學二年級下冊(全冊)知識點復習要點歸納
- 人工智能訓練師(三級)職業(yè)技能鑒定理論考試題(附答案)
- 職業(yè)技術學院裝配式建筑工程技術專業(yè)人才培養(yǎng)方案(2024版)
- 學校學生食品安全培訓課件
- 設計圖學知到智慧樹期末考試答案題庫2025年華東理工大學
- 空氣動力學試題及答案
- 綠色政治經濟學-環(huán)境治理中的經濟選擇-全面剖析
- 直播帶貨股份協(xié)議合同
- 《有為有不為》公開課一等獎創(chuàng)新教案
評論
0/150
提交評論