全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)MySQL總結(jié)_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)MySQL總結(jié)_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)MySQL總結(jié)_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)MySQL總結(jié)_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)MySQL總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章數(shù)據(jù)庫(kù)技術(shù)的的基本概念與方法基本概念數(shù)據(jù):描述事物的符號(hào)記錄數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的描述形式還不能完全表達(dá)其內(nèi)容,需要經(jīng)過解釋數(shù)據(jù)庫(kù):長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性數(shù)據(jù)庫(kù)管理系統(tǒng):數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的運(yùn)行管理、數(shù)據(jù)庫(kù)的建立和維護(hù)功能、提供方便有效存儲(chǔ)數(shù)據(jù)庫(kù)信息的接口和工具數(shù)據(jù)庫(kù)系統(tǒng):在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)冗余度小數(shù)據(jù)共享性好數(shù)據(jù)獨(dú)立性高:物理獨(dú)立性、邏輯獨(dú)立性數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)從數(shù)據(jù)庫(kù)用戶試圖的視角來看:三級(jí)模式結(jié)構(gòu)從數(shù)據(jù)庫(kù)管理系統(tǒng)的角度來看:集中式結(jié)構(gòu)、分布式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu)、并行結(jié)構(gòu)從數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用的角度來看:客戶/服務(wù)器結(jié)構(gòu)、瀏覽器/服務(wù)器結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)由模式、外模式河內(nèi)模式三級(jí)構(gòu)成模式:邏輯模式或概念模式對(duì)數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述外模式:子模式或用戶模式對(duì)數(shù)據(jù)庫(kù)用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述內(nèi)模式:存儲(chǔ)模式對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方法的描述一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式三級(jí)模式結(jié)構(gòu)的兩級(jí)映像與兩級(jí)數(shù)據(jù)獨(dú)立性外模式/模式映像:同一個(gè)模式可以有任意多個(gè)外模式對(duì)每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映像邏輯獨(dú)立性:模式發(fā)生改變,改變各個(gè)外模式/模式映像作相應(yīng)改變,外模式保持不變,應(yīng)用程序不必修改.1概念模型模式/內(nèi)模式映像:唯一物理獨(dú)立性:存儲(chǔ)結(jié)構(gòu)改變,改變模式/內(nèi)模式映像,保持模式不變1.3.3數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行與維護(hù)結(jié)構(gòu)C/S結(jié)構(gòu):客戶端/前臺(tái)/表示層:完成與數(shù)據(jù)庫(kù)使用者的交互任務(wù)服務(wù)器/后臺(tái)/數(shù)據(jù)層:主要負(fù)責(zé)數(shù)據(jù)管理單機(jī)方式、網(wǎng)絡(luò)方式B/S結(jié)構(gòu):基于Web應(yīng)用的客戶/服務(wù)器結(jié)構(gòu)、三層客戶/服務(wù)器結(jié)構(gòu)表示層:瀏覽器處理層/中間層:處理數(shù)據(jù)庫(kù)使用者的具體應(yīng)用邏輯數(shù)據(jù)層數(shù)據(jù)模型數(shù)據(jù)模型:對(duì)現(xiàn)實(shí)世界中數(shù)據(jù)特征的抽象,描述數(shù)據(jù)的共性數(shù)據(jù)模型滿足三方面的要求:比較真實(shí)的模擬現(xiàn)實(shí)世界、容易為人們所理解、便于在計(jì)算機(jī)上實(shí)現(xiàn)分為三層:物理層:物理數(shù)據(jù)模型,數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)和存儲(chǔ)方法邏輯層:邏輯數(shù)據(jù)模型/數(shù)據(jù)模型,層次模型、網(wǎng)狀模型、關(guān)系模型、面型對(duì)象模型概念層:概念數(shù)據(jù)模型/概念模型,獨(dú)立于任何DBMS,但容易向DBMS所支持的邏輯數(shù)據(jù)模型轉(zhuǎn)換實(shí)體、屬性、碼、域、實(shí)體型、實(shí)體集、聯(lián)系:一對(duì)一、一對(duì)多、多對(duì)多E-R圖1.4.2關(guān)系模型用二維表結(jié)構(gòu)來表示實(shí)體及實(shí)體間聯(lián)系的模型關(guān)系、元組、屬性、域、分量、關(guān)系模式:關(guān)系名(屬性1,屬性2,…,屬性n、表、行、列、主鍵、外鍵、數(shù)據(jù)類型關(guān)系規(guī)范化:1NF:表中每個(gè)列只包含具有原子性的值,關(guān)系的每個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)2NF:沒有部分函數(shù)依賴,表中不存在非主鍵的列依賴于組合主鍵某個(gè)部分的現(xiàn)象3NF:沒有傳遞函數(shù)依賴,表中不存在任何非主鍵列與其他非主鍵列相互關(guān)聯(lián)的現(xiàn)象BCNF:表中不存在主鍵列對(duì)主鍵的部分函數(shù)依賴和傳遞函數(shù)依賴低一級(jí)的關(guān)系模式,通過模式分解消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關(guān)系模式達(dá)到某種程度的分離,可以轉(zhuǎn)換為若干個(gè)高一級(jí)的關(guān)系模式的集合數(shù)據(jù)庫(kù)設(shè)計(jì)需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)1.5.1概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)把E-R圖轉(zhuǎn)換為關(guān)系模型一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式一個(gè)一對(duì)一的聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并一個(gè)一對(duì)多的聯(lián)系可轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與N端對(duì)應(yīng)的關(guān)系模式合并一個(gè)多對(duì)多的聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式三個(gè)或三個(gè)以上實(shí)體間的聯(lián)系一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式具有相同碼的關(guān)系模式可以合并物理設(shè)計(jì)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)的重點(diǎn)是時(shí)間和空間的效率第二章MySQL概述MySQL系統(tǒng)特性MySQL服務(wù)器的安裝和配置MySQL安裝包括典型安裝、定制安裝和完全安裝三種安裝類型在MySQL安裝過程中,若選用“啟用TCP/IP網(wǎng)絡(luò)",則MySQL會(huì)默認(rèn)選用的端口號(hào)是3306MySQL安裝成功后,在系統(tǒng)中會(huì)默認(rèn)建立一個(gè)root用戶服務(wù)器的啟動(dòng)與關(guān)閉MySQL客戶端管理工具M(jìn)ySQL命令行客戶端MySQL客戶端程序與實(shí)用工具M(jìn)ySQL圖形化管理工具.4刪除數(shù)據(jù)庫(kù)2.5MySQL語言結(jié)構(gòu)MySQL語言的組成:數(shù)據(jù)定義語言:create、alter、drop數(shù)據(jù)操縱語言:select、insert、update、delete數(shù)據(jù)控制語言:grant、revokeMySQL擴(kuò)展增加的語言要素:常量、變量(用戶變量前@,系統(tǒng)變量前@@、運(yùn)算符、表達(dá)式、內(nèi)置函數(shù)第三章數(shù)據(jù)庫(kù)和表數(shù)據(jù)庫(kù)的創(chuàng)建與使用創(chuàng)建數(shù)據(jù)庫(kù)Createdatabase/schema(ifnotexists***((defaultcharacterset=***(defaultcollate=***;選擇數(shù)據(jù)庫(kù)Use***;再用createdatabase語句創(chuàng)建了數(shù)據(jù)庫(kù)后,該數(shù)據(jù)庫(kù)不會(huì)自動(dòng)成為當(dāng)前數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)Alterdatabase/schema(***(defaultcharacterset=***(defaultcollate=***;修改數(shù)據(jù)庫(kù)默認(rèn)字符集或校對(duì)規(guī)則,必須刪除并重新創(chuàng)建使用數(shù)據(jù)庫(kù)的默認(rèn)參數(shù)的存儲(chǔ)過程UpdatedatadirectorynameDropdatabase/schema(ifexists***;查看數(shù)據(jù)庫(kù)Showdatabases/schemas(like…***"/where***;創(chuàng)建和操縱表創(chuàng)建表創(chuàng)建定義、表選項(xiàng)、分區(qū)選項(xiàng)Create(temporarytable(ifnotexistscustomers(Cust_idintnotnullauto_increment,Cust_namechar(50notnull,Cust_sexchar(1notnulldefault0,Cust_addresschar(50null,Cust_contactchar(50null,Primarykey(cust_idengine=InnoDB;每個(gè)表只能有一個(gè)auto_increment列,并且它必須被索引,其值可以覆蓋更新表增加或刪減列、創(chuàng)建或取消索引、更改原有列的數(shù)據(jù)類型、重新命名列或表、更改表的評(píng)注和表的引擎類型Alter(ignoretable***+…Addcolumn:altertablemysql_test.customersAddcolumncust_citychar(10notnulldefault…Wuhan"aftercust_sex;First/after類似:addprimarykey(首先刪除表中已有的主鍵、addforeignkey、addindexChangecolumn:altertablemysql_test.customersChangecust_sexsexchar(1nulldefault...M";Altercolumn:修改或刪除表中指定列的默認(rèn)值A(chǔ)ltertablemysql_test.customersAltercolumncust_citysetdefault.Beijing";Modifycolumn:只會(huì)修改制定列的數(shù)據(jù)類型,而不會(huì)干涉它的列名Altertablemysql_test.customersModifycolumncust_namechar(20first;First/afterDropcolumn:類似:dropprimarykey、dropfoteignkey、dropindexRenameto:altertablemysql_test.customersRenametomysql_test.backup_customers;重命名表Renametable***to***4.24.2刪除表數(shù)據(jù)可以同時(shí)重命名多個(gè)表復(fù)制表Create(temporarytable(isnotexists***like***Asselect復(fù)制表的內(nèi)容,但索引和完整性約束不會(huì)被復(fù)制刪除表Drop(temporarytable(ifexists***(restrict/cascade;查看表顯示表的名稱:show(fulltables(from/in***(like…***"/where…;顯示表的結(jié)構(gòu):show(fullcolumnsfrom/in***(from/in***(like...***”/where...;Describe/desc***(***;第四章表數(shù)據(jù)的基本操作4.1插入表數(shù)據(jù)Insert語句:insert(low_priority/delayed/high_priority(ignore(into***values/value***(onduplicatekeyupdate***=***,...;Insert(…(…(into***set***=***/default(onduplicatekeyupdate...;Insert(…(…(into***select...(onduplicatekeyupdate...;Replace語句:在插入數(shù)據(jù)前將表中與待插入的新紀(jì)錄相沖突的舊記錄刪除Delete語句:從單個(gè)表中刪除數(shù)據(jù):delete(low_priority(quick(ignorefrom***(where...(orderby...(limit...;從多個(gè)表中刪除數(shù)據(jù):Delete(…***,***,…from***(where…刪除from子句之前表中對(duì)應(yīng)的行Delete(…from***,...using***(where…刪除from子句之中的表中對(duì)應(yīng)的行Deletetb1,tb2fromtb1,tb2,tb3wheretb1.id=tb2.idandtb2.id=tb3.id;Deletefromtb1,tb2usingtb1,tb2,tb3wheretb1.id=tb2.idandtb2.id=tb3.id;Truncate語句:從表中刪除所有的行Truncate(table***;對(duì)于參與了索引和視圖的表,不能用truncate語句刪除數(shù)據(jù)4.3修改表數(shù)據(jù)修改單個(gè)表:update(low_priority(ignore***set…(where…(order…(limit…;修改多個(gè)表:updatetb1,="李明",="張亮"wheretb1.id=tb2.id;第五章數(shù)據(jù)庫(kù)的查詢select語句列的選擇與指定選擇指定的列定義并使用列的別名:selectcust_name,cust_addressas…地址"frommysql_test.customers;自定義的列別名中有空格,必須用單引號(hào)將列別名括起來列別名不允許出現(xiàn)在where子句中替換查詢結(jié)果集中的數(shù)據(jù):selectcust_nameCaseWhencust_sex="M"then"男"Else“女”Endas性別Frommysql_test.customers;計(jì)算歹列值:selectcust_name,cust_id+100frommysql_test.customers;聚合函數(shù)from子句與鏈接表交叉連接:select*fromtb1crossjointb2;Select*fromtb1,tb2;內(nèi)連接:select…from***(innerjoin***on…;Straight_join類似,其后不能使用using,只能用on設(shè)置連接條件相等連接不等連接自連接:需要在一個(gè)表中查找有相同列值的行要為表指定兩個(gè)不同的別名,且對(duì)所有查詢的引用均必須使用表別名限定自然連接:連接的列在兩張表中名稱相同Naturaljoin外連接:一定會(huì)提供數(shù)據(jù)行,無論該行能否在另外一個(gè)表中找出相匹配的行左外連接:left(outerjoin,右外連接:right(outerjoinwhere子句比較運(yùn)算字符串匹配:通配符:%、_可在搜索模式后用關(guān)鍵字escape和一個(gè)指定的轉(zhuǎn)義字符,臨時(shí)改變通配符的作用和意義Select*frommysql_test.customerswherecust_addresslike...%#_%'escape…#";文本匹配:rlike/regexp(binary基本字符匹配:select*frommysql_test.customerswherecust_addressregexp…市;;選擇匹配:分隔符‘|’范圍匹配:[3-8],[a-p]特殊字符匹配:轉(zhuǎn)義字符‘//’字符類匹配:將常用的數(shù)字、字符等定義成一個(gè)預(yù)定義的字符集,直接使用[:upper:]重復(fù)匹配使用定位符匹配:人文本的開始、$文本的結(jié)尾判定范圍:between…and…In:最主要的作用是表達(dá)子查詢Select*fromcustomerswherecust_idin(901,902,903;判定空值:isnull子查詢:表子查詢、行子查詢、列子查詢、標(biāo)量子查詢結(jié)合關(guān)鍵字in使用:子查詢只返回一列數(shù)據(jù)結(jié)合比較運(yùn)算符使用:all、some/any結(jié)合關(guān)鍵字exists使用:主要用于判定子查詢的結(jié)果集是否為空子查詢通??梢愿臑楸淼逆溄?只是兩者的執(zhí)行性能會(huì)有所差異groupby子句與分組數(shù)據(jù)Groupby***(asc/desc(withrollup;Withrollup包括分組匯總行,以及所有分組的整體匯總行除聚合函數(shù)外,select語句中的每個(gè)列都必須在groupby子句中給出Selectcust_address,cust_sex,count(*as…人數(shù)”Frommysql_test.customersGroupbycust_address,cust_sexWithrollup;having子句Having子句用來過濾分組與where子句類似,Having子句中的條件可以包含聚合函數(shù),where子句中不可以Selectcust_name,cust_addressFrommysql.customersGroupbycust_address,cust_nameHavingcount(*<=3;orderby子句Orderby***(asc/desc;limit子句使用limit子句限制被select語句返回的行數(shù)第5位客戶開始的3位客戶Selectcust_id,cust_namefrommysql_test.customersOrderbycust_idLimit4,3;Selectcust_id,cust_nsmefrommysql_test.customersOrderbycust_idLimit3offset4;union語句與聯(lián)合查詢Union語句中的每個(gè)select查詢必須包含相同的列、表達(dá)式或聚合函數(shù)第一個(gè)select語句中被使用的列名會(huì)被作為union語句結(jié)果集的列名稱只能使用一條orderby子句或limit子句,且必須置于最后一條select語句之后類有多個(gè)where子句的單條select語句,unionall可以完成where子句完成不了的工作第六章索引數(shù)據(jù)庫(kù)性能調(diào)優(yōu)技術(shù)的基礎(chǔ)索引概述索引的存儲(chǔ)與分類索引在存儲(chǔ)引擎中實(shí)現(xiàn),每種存儲(chǔ)引擎所支持的索引類型不一定完全相同索引存儲(chǔ)方式不同:B-樹索引:索引的使用必須遵循“最左邊前綴”原則哈希索引:memory存儲(chǔ)引擎,heap存儲(chǔ)引擎支持索引用途:普通索引:關(guān)鍵字index/key唯一性索引:unique主鍵:primary,主鍵是一種唯一性索引全文索引:fulltext空間索引單列索引/組合索引索引策略對(duì)應(yīng)的索引類型:聚集索引:一個(gè)表只能有一個(gè)聚集索引覆蓋索引:索引的創(chuàng)建Createindex語句:create(online/offline(unique/fulltext/spatialindex***(usingbtree/hashon***(***(length(asc/desc,….;不能創(chuàng)建主鍵Createtable語句:(constraint***primarykey***(***,…Index/key***(***,…(constraint***unique(index/key***(***,…Fulltext/spatial(idex/key***(***,…(constraint***foreignkey***(***, Altertable語句:add+上述語句索引的查看Show(index/indexes/keysfrom/in***(from/in***(where...;索引的刪除Dropindex語句:drop(online/offlineindex***on***;Alterindex語句:altertable***dropprimarykey;Dropindex***;Dropforeignkey***;對(duì)索引的進(jìn)一步說明第七章視圖視圖概述創(chuàng)建視圖Create(orreplace(algorithm=undefined/merge/temptable(definer=***(sqlsecurity/definer/invokerview***(***,.…asselect...(with(cascaded/localcheckoption;刪除視圖Dropview(ifexists***,.(restrict/cascsde;修改視圖定義類createviewalter/先dropview,Mcreateview/createorreplaceview查看視圖定義Showcreateview***;更新視圖數(shù)據(jù)可更新的視圖要求該視圖中的行和基礎(chǔ)表中的行之間具有一對(duì)一的關(guān)系Insert語句通過視圖向基礎(chǔ)表插入數(shù)據(jù)Update語句通過視圖修改基礎(chǔ)表的數(shù)據(jù)Delete語句通過視圖刪除基礎(chǔ)表的數(shù)據(jù)查詢視圖數(shù)據(jù)對(duì)視圖的進(jìn)一步說明視圖不能索引,也不能有關(guān)聯(lián)的觸發(fā)器、默認(rèn)值和規(guī)則視圖可以和表一起使用第八章數(shù)據(jù)完整性約束與表維護(hù)語句數(shù)據(jù)完整性約束定義完整性約束各種完整性約束是數(shù)據(jù)庫(kù)關(guān)系模式定義的一部分實(shí)體完整性:關(guān)系的主屬性,即主碼的組成不能為空主鍵約束:primarykey候選鍵約束:候選鍵的值必須是唯一的且不能為nullunique一個(gè)表只能有一個(gè)主鍵,可以有多個(gè)候選鍵參照完整性:foreignkey(***,…references***(***(length(asc/desc,…(matchfull/matchpartial/matchsimple(ondeleterestrict/cascade/setnull/noaction(onupdate…;用戶定義完整性:某一具體應(yīng)用所涉及的數(shù)據(jù)應(yīng)滿足的要求非空約束:notnullCheck約束:check+SQL表達(dá)式基于列的check約束:cust_idintnotnullcheck(cust_idin(selectcust_idfromcustomers,基于表的check約束:check(order>=2000andorder_amount<=5命名完整性約束在完整性約束的定義說明之前加上關(guān)鍵字constraint和該約束的名字只能給基于表的完整性約束指定名字,無法給基于列的完整性約束指定名字.3更新完整性約束Altertable***dropconstraint…;Addconstraint...;完整性約束不能直接修改,先用altertable刪除該約束,再增加一個(gè)新約束表維護(hù)語句MySQL數(shù)據(jù)優(yōu)化的基礎(chǔ)Analyzetable:修復(fù)cardinality索引散列程度analyze(no_write_to_binlog/localtable***,…;Checktable:檢查一個(gè)或多個(gè)表是否有錯(cuò)誤checktable***,…(forupdate/quick/fast/medium/entended/changed;Checksumtable:對(duì)數(shù)據(jù)庫(kù)中的每一個(gè)表計(jì)算校驗(yàn)和Checksumtable***,…(quick/extended;Optimizetable:重新利用未使用的空間Optimize(no_write_to_binlog/localtable***,…;Repairtable:嘗試修復(fù)一個(gè)或多個(gè)可能被損壞的表Repair(no_write_to_binlog/localtable(quick(extended(use_frm第九章觸發(fā)器觸發(fā)器一個(gè)指定關(guān)聯(lián)到一個(gè)表的數(shù)據(jù)庫(kù)對(duì)象,當(dāng)對(duì)某一個(gè)表的特定時(shí)間出現(xiàn)時(shí),它會(huì)被激活響應(yīng)insert、update和delete語句而自動(dòng)執(zhí)行的一條MySQL語句,其他語句不支持觸發(fā)9.2創(chuàng)建觸發(fā)器Create(definer=user/current_usetrigger***before/afterinsert../update…/delete…on***foreachrow…;不能將觸發(fā)器與臨時(shí)表或視圖聯(lián)系起來同一個(gè)表不能勇于兩個(gè)具有相同觸發(fā)時(shí)刻和事件的觸發(fā)期單一觸發(fā)器不能與多個(gè)事件或多個(gè)表關(guān)聯(lián)Showtriggers(from/in***(like…***”/where…;Createcustomers_insert_triggerafterinsertonmysl_test.customersforeachrowset@str="onecustomeradded!”;刪除觸發(fā)器Droptrigger(ifexists***;觸發(fā)器不能更新或覆蓋,修改必須先刪除再創(chuàng)建使用觸發(fā)器Insert觸發(fā)器:在insert觸發(fā)器代碼內(nèi),可引用一個(gè)名為new的虛擬表,來訪問被插入的行,new的值可以被更新Createtriggermysql_test.customers_insert_triggerafterinsertonmysql_test.customersforeachrowset@str=new.cust_id;Delete觸發(fā)器:在delete觸發(fā)器代碼內(nèi),可以引用一個(gè)名為old的虛擬表,來訪問被刪除的行,old中的值是只讀的,不能被更新Update觸發(fā)器:在update觸發(fā)器代碼內(nèi),可引用一個(gè)名為old的虛擬表,來訪問以前的值,也可以引用一個(gè)new的虛擬表訪問新更新的值當(dāng)觸發(fā)器涉及對(duì)觸發(fā)表自身的更新操作時(shí),只能使用beforeupdate觸發(fā)器,而afterupdate觸發(fā)器將不被允許Createtriggermysql_test.customers_update_triggerbeforeupdateonmysql_test.customersforeachrowsetnew.cust_address=old.cust_contact;對(duì)觸發(fā)器的進(jìn)一步說明第十章事件事件時(shí)間調(diào)度器臨時(shí)觸發(fā)器,基于特定時(shí)間周期來執(zhí)行某些任務(wù),觸發(fā)器基于某個(gè)表所產(chǎn)生的事件觸發(fā)的創(chuàng)建事件Create(definer=user/current_userevent(ifnotexists***onscheduleat...+interval.../every...(starts...(+interval...(ends...(+interval...(oncompletion(notpreserve(enable/disable/disableonslave(comment "do(begin…(end;修改事件Alterevent類create可以使用一條alterevent語句讓一個(gè)事件關(guān)閉或再次讓其活動(dòng)Altereventevent_insertdiable;Altereventevent_insertenable;Altereventevent_insertrenametoe_insert;刪除事件Dropevent(ifexists***;第十一章存儲(chǔ)過程與存儲(chǔ)函數(shù)存儲(chǔ)過程一組為了完成某特定功能的SQL語句集,一段存放在數(shù)據(jù)庫(kù)中的代碼,由聲明式的SQL語句和過程式的SQL語句組成創(chuàng)建存儲(chǔ)過程Create(definer=user/current_userprocedure***((in/out/inout***type,...(comment"…"/languagesql/(notdeterministic/(containssql/nosql/readssqldata/modifyiessqldata/sqlsecurity(definer/invokerbegin.end;Delimiter$$Createproceduresp_update_sex(intcidint,intcsexchar(1BeginUpdatecustomerssetcust_sex=csexwherecust_id=cid;End$$Showprocedurestatus;Showcreateprocedure***;.2存儲(chǔ)過程體11.1.511.1.5刪除存儲(chǔ)過程局部變量:declare***type(default...;只能在存儲(chǔ)過程體的begin.end語句塊中聲明,在存儲(chǔ)過程體的開頭處聲明Set語句:為局部變量賦值So語句:把選定的列的值直接存儲(chǔ)到局部變量中Select語句返回的結(jié)果集只能有一行數(shù)據(jù)流程控制語句:條件判斷語句:if.else(endifcase(endcase循環(huán)控制語句:while…do…repeat…until…loop…leaveiterate游標(biāo):被select語句檢索出來的結(jié)果集聲明游標(biāo):declare***dursorforselect…;打開游標(biāo):open***;讀取游標(biāo):fetch***into...;關(guān)閉游標(biāo):close***;調(diào)用存儲(chǔ)過程Call(***,…;修改存儲(chǔ)過程可以修改選項(xiàng)修改內(nèi)容,先刪除,再創(chuàng)建.2刪除用戶Dropprocedurefunction(ifexists***11.2存儲(chǔ)函數(shù)存儲(chǔ)函數(shù)不能擁有輸出參數(shù),因?yàn)榇鎯?chǔ)該函數(shù)本身就是輸出參數(shù)可直接對(duì)存儲(chǔ)函數(shù)進(jìn)行調(diào)用,且不需要使用call語句創(chuàng)建存儲(chǔ)函數(shù)Create(definer=user/current_userfunction***(***,…returnstypecomment"…"/languagesql/(notdeterministic/(containssql/nosql/readssqldata/modifiessqldata/sqlsecurity(definer/invoker;調(diào)用存儲(chǔ)函數(shù)Select***(***,…;刪除存儲(chǔ)函數(shù)Dropfunction(ifexists***修改存儲(chǔ)函數(shù)同存儲(chǔ)過程第十二章訪問控制與安全管理用戶賬號(hào)管理創(chuàng)建用戶賬號(hào)Createuser***(indentifiedby(password"…"/identifiedwith...;Dropuser,…;修改用戶賬號(hào)Renameuser***to***,…;修改用戶口令Setpassword(foruser=password( "/I..”;賬戶權(quán)限管理Showgrantsfor***;權(quán)限的授予Grantselect/update/delete/insert/create/alter/…(***,...ontable/fUnction/procedure***to***,…(requirenone….And…(with…;表權(quán)限、列權(quán)限、數(shù)據(jù)庫(kù)權(quán)限、用戶權(quán)限權(quán)限的轉(zhuǎn)移與限制轉(zhuǎn)移:withgrantoption限制:withmax_queries_per_hour…/max_update_per_hour…/max_connections_per_hour…/max_user_connections…權(quán)限的撤銷Revokeselect/update/delete/insert/create/alter/…(***,…ontable/function/procedure***from***,…;Revokeallprivileges,grantoptionfrom***,…;第十三章備份與恢復(fù)數(shù)據(jù)庫(kù)備份與恢復(fù)數(shù)據(jù)庫(kù)備份與恢復(fù)的方法使用MySQL語句備份和恢復(fù)表數(shù)據(jù)只能導(dǎo)入導(dǎo)出數(shù)據(jù)的內(nèi)容,而不包括表的結(jié)構(gòu)Selectinto…outfile:select*intooutfile…***"(characterset…(fields(terminatedby "((optionallyenclosedby "(escapeby "(linesterminatedby ";Loaddata…infile:loaddata(low_priority/concurrent(localinfile…***"(replace/ignoreintotable***(fields(terminatedby ”((optionallyenclosedby……"(escapeby……"(lines(startingby……"(terminatedby……"(ignore…lines;Locktables***readlocktables***writeunlocktables使用MySQL客戶端實(shí)用程序備份和恢復(fù)數(shù)據(jù)可以備份數(shù)據(jù)庫(kù)表的結(jié)構(gòu),數(shù)據(jù)庫(kù),甚至整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)Mysqldump:mysqldump(optionsdatabase(tables>filename;mysqldump(options-databases(optionsdb1,…〉filename;mysqldump(options-all-database(options〉fil

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論