MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用PPT完整全套教學(xué)課件_第1頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用PPT完整全套教學(xué)課件_第2頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用PPT完整全套教學(xué)課件_第3頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用PPT完整全套教學(xué)課件_第4頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用PPT完整全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩519頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

BYYUSHEN數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用DATABASETECHNOLOGYANDAPPLICATION任務(wù)1認(rèn)識(shí)數(shù)據(jù)庫(kù)任務(wù)2安裝配置數(shù)據(jù)庫(kù)任務(wù)3客戶端登錄使用MySQL8數(shù)據(jù)庫(kù)項(xiàng)目模塊1數(shù)據(jù)庫(kù)

認(rèn)知篇項(xiàng)目模塊1數(shù)據(jù)庫(kù)認(rèn)知.pptx項(xiàng)目模塊2數(shù)據(jù)庫(kù)管理.pptx項(xiàng)目模塊3數(shù)據(jù)庫(kù)查詢.pptx項(xiàng)目模塊4數(shù)據(jù)庫(kù)編程.pptx項(xiàng)目模塊5數(shù)據(jù)庫(kù)安全.pptx項(xiàng)目模塊6數(shù)據(jù)庫(kù)設(shè)計(jì).pptx全套可編輯PPT課件CONTENTSBYYUSHENYOURLOGOAUNIVERSITY01任務(wù)1認(rèn)識(shí)數(shù)據(jù)庫(kù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)02任務(wù)2安裝配置數(shù)據(jù)庫(kù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)03任務(wù)3客戶端登錄使用MySQL8數(shù)據(jù)庫(kù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)BYYUSHEN崗位能力能完成數(shù)據(jù)庫(kù)的基本安裝;能完成數(shù)據(jù)庫(kù)的基本配置;能啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)服務(wù);能進(jìn)行數(shù)據(jù)庫(kù)環(huán)境的配置;能使用管理工具連接數(shù)據(jù);技能證書(shū)標(biāo)準(zhǔn)解答客戶數(shù)據(jù)庫(kù)基礎(chǔ)理論問(wèn)題;指導(dǎo)客戶安裝數(shù)據(jù)庫(kù)軟件;指導(dǎo)客戶卸載數(shù)據(jù)庫(kù)軟件;解答客戶數(shù)據(jù)庫(kù)安裝過(guò)程中遇到的問(wèn)題;思政素養(yǎng)養(yǎng)成學(xué)習(xí)新技術(shù)的興趣和主動(dòng)性;對(duì)工作任務(wù)綜合全面考慮的習(xí)慣;志存高遠(yuǎn)、腳踏實(shí)地,不畏艱難險(xiǎn)阻,勇?lián)鷷r(shí)代使命的責(zé)任感;數(shù)據(jù)庫(kù)認(rèn)知

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊1BYYUSHEN數(shù)據(jù)庫(kù)認(rèn)知

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊1高校教學(xué)質(zhì)量分析管理系統(tǒng)數(shù)據(jù)庫(kù)db_teachingG-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”,希望能夠?yàn)榻虒W(xué)質(zhì)量的各項(xiàng)指標(biāo)數(shù)據(jù),包括學(xué)生評(píng)教、教師評(píng)學(xué)、同行及督導(dǎo)專家評(píng)價(jià)等相關(guān)的各類信息實(shí)現(xiàn)記錄、分析、處理、決策。同時(shí)基于大數(shù)據(jù)分析背景的需要,針對(duì)項(xiàng)目數(shù)據(jù)存儲(chǔ)與管理的需求,在認(rèn)知和分析數(shù)據(jù)庫(kù)體系的基礎(chǔ)上,為項(xiàng)目的開(kāi)發(fā)甄選了MySQL8作為適合的后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)。不匹配的數(shù)據(jù)庫(kù)管理系統(tǒng)帶來(lái)的代價(jià)可能會(huì)是項(xiàng)目整體性能和效率的下降,因此,對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)的正確選擇、并能正確安裝和配置,對(duì)于整個(gè)項(xiàng)目非常重要。項(xiàng)目模塊情境BYYUSHEN任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)

G-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”,在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)之前,需要了解數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)和數(shù)據(jù)模型等理論知識(shí),從而為項(xiàng)目選擇一個(gè)合適的后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)。任務(wù)描述01BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.1數(shù)據(jù)管理技術(shù)的發(fā)展階段任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1人工管理階段20世紀(jì)50年代中期以前,計(jì)算機(jī)出現(xiàn)初期,由于軟件硬件的限制,計(jì)算機(jī)主要用于科學(xué)計(jì)算,沒(méi)有操作系統(tǒng),沒(méi)有大容量外部存儲(chǔ)器,人們只能采用人工方式管理數(shù)據(jù),數(shù)據(jù)面向的對(duì)象也只是某個(gè)特定的應(yīng)用程序,因此,數(shù)據(jù)的獨(dú)立性差,不能共享,冗余度大,數(shù)據(jù)不能被長(zhǎng)期保存。2文件系統(tǒng)階段20世紀(jì)50年代后期到60年代中期,隨著計(jì)算機(jī)硬件和軟件技術(shù)的迅速發(fā)展,數(shù)據(jù)組織成相互獨(dú)立的文件,可以儲(chǔ)存在磁盤、磁鼓等直接存取的存儲(chǔ)設(shè)備上,然后通過(guò)文件系統(tǒng)來(lái)管理這些文件,計(jì)算機(jī)應(yīng)用范圍也從科學(xué)計(jì)算領(lǐng)域發(fā)展到了數(shù)據(jù)管理領(lǐng)域。3數(shù)據(jù)庫(kù)系統(tǒng)階段20世紀(jì)60年代后期以來(lái),隨著計(jì)算機(jī)性能的日益提高,其應(yīng)用領(lǐng)域也日益廣泛,數(shù)據(jù)量急劇增加,并且多種應(yīng)用、多種語(yǔ)言互相交叉共享數(shù)據(jù)集合的要求也越來(lái)越多,編制和維護(hù)系統(tǒng)軟件及應(yīng)用程序的成本相對(duì)增加,分布式處理需求增大,以文件系統(tǒng)作為數(shù)據(jù)管理的手段已經(jīng)不能滿足應(yīng)用需求。為滿足和解決多用戶、多應(yīng)用共享數(shù)據(jù)的需求,使數(shù)據(jù)為盡可能多的應(yīng)用服務(wù),出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件,即數(shù)據(jù)庫(kù)管理系統(tǒng)。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.2數(shù)據(jù)庫(kù)系統(tǒng)的相關(guān)概念任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1數(shù)據(jù)(Data)描述事物信息的符號(hào)稱為數(shù)據(jù)(Data)。數(shù)據(jù)有多種表現(xiàn)形式,數(shù)字,也可以是文字、圖形、圖像、聲音、語(yǔ)言等。2數(shù)據(jù)庫(kù)(Database,DB)數(shù)據(jù)庫(kù)就是存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),指長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)不僅包括描述事物的數(shù)據(jù)本身,還包括相關(guān)事物之間的聯(lián)系。3數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問(wèn)和管理數(shù)據(jù)庫(kù)的方法,包括建立、使用、維護(hù)數(shù)據(jù)庫(kù),以及數(shù)據(jù)收集存儲(chǔ)、數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)控制等。4數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,DB)數(shù)據(jù)庫(kù)系統(tǒng)由硬件、軟件和數(shù)據(jù)庫(kù)用戶共同構(gòu)成。硬件包括計(jì)算機(jī)、存儲(chǔ)設(shè)備等;軟件包括操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、以及支持多種語(yǔ)言進(jìn)行應(yīng)用開(kāi)發(fā)的訪問(wèn)技術(shù)和數(shù)據(jù)庫(kù)應(yīng)用程序等;數(shù)據(jù)庫(kù)用戶則包括了使用數(shù)據(jù)庫(kù)的最終用戶、數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)者、數(shù)據(jù)庫(kù)管理員(DataAdministrator,DBA)。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.3數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)(1)外模式外模式又稱子模式或用戶模式,對(duì)應(yīng)于用戶級(jí),面向應(yīng)用程序,它是某個(gè)或某幾個(gè)用戶所看到的數(shù)據(jù)庫(kù)的數(shù)據(jù)視圖。(2)概念模式概念模式又稱模式或邏輯模式,對(duì)應(yīng)于概念級(jí),面向數(shù)據(jù)庫(kù)設(shè)計(jì)人員,描述數(shù)據(jù)的整體邏輯結(jié)構(gòu),是所有用戶的公共數(shù)據(jù)視圖(全局視圖)。(3)內(nèi)模式內(nèi)模式又稱存儲(chǔ)模式或物理模式,對(duì)應(yīng)于物理級(jí),面向物理上的數(shù)據(jù)庫(kù),反映了數(shù)據(jù)庫(kù)系統(tǒng)的存儲(chǔ)觀。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.3數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2三級(jí)模式間的兩層映射(1)外模式/概念模式映射對(duì)于同一個(gè)模式可以有任意多個(gè)外模式。對(duì)于每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映射。當(dāng)模式被改變時(shí),數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式映射做相應(yīng)的改變,可以使外模式保持不變。這樣,依據(jù)數(shù)據(jù)外模式編寫的應(yīng)用程序就不用修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。(2)概念模式/內(nèi)模式映射數(shù)據(jù)庫(kù)中只有一個(gè)概念模式和一個(gè)內(nèi)模式,所以概念模式/內(nèi)模式的映射是唯一的,它定義了數(shù)據(jù)庫(kù)的全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)被改變時(shí),數(shù)據(jù)庫(kù)管理員對(duì)概念模式/內(nèi)模式映射做相應(yīng)的改變,可以使模式保持不變,應(yīng)用程序相應(yīng)地也不做變動(dòng)。這樣,保證了數(shù)據(jù)與程序的物理獨(dú)立性。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.4數(shù)據(jù)模型任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1層次模型層次模型是一種用樹(shù)形結(jié)構(gòu)描述實(shí)體及其之間關(guān)系的數(shù)據(jù)模型。在這種結(jié)構(gòu)中,每一個(gè)記錄類型都是用節(jié)點(diǎn)表示,記錄類型之間的聯(lián)系則用結(jié)點(diǎn)之間的有向線段來(lái)表示。每一個(gè)雙親結(jié)點(diǎn)可以有多個(gè)子節(jié)點(diǎn),但是每一個(gè)子節(jié)點(diǎn)只能有一個(gè)雙親結(jié)點(diǎn)。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.4數(shù)據(jù)模型任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2網(wǎng)狀模型網(wǎng)狀模型是一種可以靈活地描述實(shí)體及其之間關(guān)系的數(shù)據(jù)庫(kù)模型,網(wǎng)狀模型用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系。網(wǎng)狀模型取消了層次模型的不能表示非樹(shù)狀結(jié)構(gòu)的限制,兩個(gè)或兩個(gè)以上的結(jié)點(diǎn)都可以有多個(gè)雙親結(jié)點(diǎn),則此時(shí)有向樹(shù)變成了有向圖,該有向圖描述了網(wǎng)狀模型。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.4數(shù)據(jù)模型任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase3關(guān)系模型關(guān)系模型是指用二維表的形式表示實(shí)體和實(shí)體間聯(lián)系的數(shù)據(jù)模型,由行和列組成。關(guān)系模型中無(wú)論是實(shí)體還是實(shí)體間的聯(lián)系均由單一的結(jié)構(gòu)類型“關(guān)系”來(lái)表示,其操作的對(duì)象和結(jié)果都是一張二維表。關(guān)系:一個(gè)關(guān)系(Relation)對(duì)應(yīng)著一個(gè)二維表,二維表名就是關(guān)系名。元組(記錄):在二維表中的一行,稱為一個(gè)元組(Tuple),其對(duì)應(yīng)

一條記錄。屬性(字段):在二維表中的列,稱為屬性(Attribute),又稱字段。

屬性的個(gè)數(shù)稱為關(guān)系的元或度。列的值稱為屬性值。域:屬性值的取值范圍為值域(Domain)。分量:每一行對(duì)應(yīng)的列的屬性值,即元組中的一個(gè)屬性值。關(guān)系模式:在二維表中的行定義,即對(duì)關(guān)系的描述稱為關(guān)系模式。關(guān)鍵字(碼):如果在一個(gè)關(guān)系中,存在唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或

屬性集,稱為實(shí)體的關(guān)鍵字(Key)或碼。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.4數(shù)據(jù)模型任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase3關(guān)系模型候選鍵(候選碼):候選鍵也是唯一標(biāo)識(shí)表中每一行的關(guān)鍵字。主鍵(主碼):在一個(gè)關(guān)系的若干候選鍵中指定一個(gè)用來(lái)唯一標(biāo)識(shí)該關(guān)系的元組,則這個(gè)被指定的候選鍵稱之為主關(guān)鍵字,或簡(jiǎn)稱為主鍵、主碼。主屬性和非主屬性:關(guān)系中包含在任何一個(gè)候選鍵中的屬性稱為主屬性,不包含在任何一個(gè)候選鍵中的屬性為非主屬性。外鍵(外碼):如果一個(gè)關(guān)系中的一個(gè)屬性(該屬性不能是候選碼)是另外一個(gè)關(guān)系中的主鍵(主碼),則該關(guān)系中這個(gè)屬性為外鍵(外碼)。外鍵(外碼)的值要么為空,要么為其對(duì)應(yīng)的主鍵(主碼)中的一個(gè)值。參照關(guān)系與被參照關(guān)系:是指以外鍵相互聯(lián)系的兩個(gè)關(guān)系,可以相互轉(zhuǎn)化。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù),是指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù),其以行和列的二維表形式存儲(chǔ)數(shù)據(jù)。關(guān)系模型可以簡(jiǎn)單理解為二維表格模型,那么一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的關(guān)系組成的一個(gè)數(shù)據(jù)組織。2關(guān)系運(yùn)算關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)優(yōu)點(diǎn)是有嚴(yán)格的數(shù)學(xué)理論根據(jù),可以使用關(guān)系代數(shù)對(duì)數(shù)據(jù)進(jìn)行關(guān)系運(yùn)算。關(guān)系的基本運(yùn)算有兩類:一類是傳統(tǒng)的集合運(yùn)算(合并、交集、求差、笛卡爾積),另一類是專門的關(guān)系運(yùn)算(選擇、投影、連接、除法),其運(yùn)算符號(hào)如下表所示。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(1)集合運(yùn)算并(Union)設(shè)有關(guān)系R和關(guān)系S,R∪S表示合并兩個(gè)關(guān)系中的元組,消除重復(fù)的元組。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(1)集合運(yùn)算交(Intersection)設(shè)有關(guān)系R和關(guān)系S,R∩S表示找出既屬于R又屬于S的元組,得到結(jié)果相同的部分。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(1)集合運(yùn)算差(Difference)設(shè)有關(guān)系R和關(guān)系S,R-S表示找出屬于R但不屬于S的元組,而S-R則表示找出屬于S但不屬于R的元組。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(1)集合運(yùn)算笛卡爾積(CartesianProduct)笛卡爾積簡(jiǎn)單來(lái)說(shuō)就是兩個(gè)集合相乘的結(jié)果。設(shè)R和S是兩個(gè)關(guān)系,則R×S是求R和S的笛卡爾乘積,結(jié)果表是R和S的結(jié)構(gòu)之連接,即前n個(gè)屬性來(lái)自R,后m個(gè)屬性來(lái)自S,屬性個(gè)數(shù)等于n+m。結(jié)果表的值是由R中的每個(gè)元組連接S中的每個(gè)元組構(gòu)成元組的集合。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(2)關(guān)系運(yùn)算選擇(Selection)選擇運(yùn)算是單目運(yùn)算,它從一個(gè)關(guān)系R中選擇出滿足給定條件的所有元組,并同R具有相同的結(jié)構(gòu)。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(2)關(guān)系運(yùn)算投影(Projection)投影運(yùn)算也是單目運(yùn)算,它從一個(gè)關(guān)系R所有屬性中選擇某些指定屬性,組成一個(gè)新的關(guān)系。選擇運(yùn)算選取關(guān)系的某些行,而投影運(yùn)算選取關(guān)系的某些列,是從一個(gè)關(guān)系出發(fā)構(gòu)造其垂直子集的運(yùn)算。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(2)關(guān)系運(yùn)算連接(Join)設(shè)有關(guān)系R和關(guān)系S,使用A和B分別表示R和S中數(shù)目相等且可比的屬性組。等值連接是在R和S的笛卡爾積中選取A、B屬性值相等的元組。自然連接是一種特殊的等值連接,要求R和S必須有相同的屬性組,進(jìn)行等值連接后再去除重復(fù)的屬性組。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.5關(guān)系型數(shù)據(jù)庫(kù)任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase2關(guān)系運(yùn)算(2)關(guān)系運(yùn)算除(Division)除法運(yùn)算可理解為笛卡爾積的逆運(yùn)算。設(shè)被除關(guān)系R為m元關(guān)系,除關(guān)系S為n元關(guān)系,那么它們的商為m-n元關(guān)系,記為R÷S。商的構(gòu)成原則是:將被除關(guān)系R中的m-n列,按其值分成若干組,檢查每一組的n列值的集合是否包含除關(guān)系S,若包含則取m-n列的值作為商的一個(gè)元組,否則不取。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.1.6SQL語(yǔ)言任務(wù)一認(rèn)識(shí)數(shù)據(jù)庫(kù)Knowledgedatabase1數(shù)據(jù)定義語(yǔ)言(datadefinitionlanguage,DDL)數(shù)據(jù)定義語(yǔ)言是負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言,由CREATE、ALTER與DROP三個(gè)語(yǔ)法所組成。CREATE是負(fù)責(zé)數(shù)據(jù)庫(kù)對(duì)象創(chuàng)建的指令,ALTER是負(fù)責(zé)數(shù)據(jù)庫(kù)對(duì)象修改的指令,DROP則是刪除數(shù)據(jù)庫(kù)對(duì)象的指令。2數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,DML)數(shù)據(jù)操縱語(yǔ)言是用于數(shù)據(jù)庫(kù)操作,對(duì)數(shù)據(jù)庫(kù)其中的對(duì)象和數(shù)據(jù)執(zhí)行訪問(wèn)工作的編程語(yǔ)句。主要是以INSERT、UPDATE、DELETE、SELECT對(duì)數(shù)據(jù)的插入、更新、修改、查詢4種指令為核心。3數(shù)據(jù)控制語(yǔ)言(DataControlLanguage,DCL)數(shù)據(jù)控制語(yǔ)言主要對(duì)用戶的訪問(wèn)權(quán)限加以控制,以保證系統(tǒng)的安全性,由GRANT、REVOKE對(duì)用戶的授權(quán)和撤銷授權(quán),及COMMIT、ROLLBACK對(duì)事務(wù)的提交和回滾等指令組成。BYYUSHEN任務(wù)二安裝配置數(shù)據(jù)庫(kù)在對(duì)數(shù)據(jù)庫(kù)有基本認(rèn)識(shí)后,“高校教學(xué)質(zhì)量分析管理系統(tǒng)”的開(kāi)發(fā)最終選擇MySQL8作為其后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)。在詳細(xì)了解MySQL8版本的數(shù)據(jù)庫(kù)新特性等一些專業(yè)知識(shí)后,開(kāi)始安裝并配置MySQL8數(shù)據(jù)庫(kù)。任務(wù)描述02BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.1認(rèn)識(shí)MySQL數(shù)據(jù)庫(kù)任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES02MySQL是一個(gè)體積小、開(kāi)放源碼、成本低的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RelationalDatabaseManagementSystem,RDBMS)。

采用關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)SQL語(yǔ)言,支持在Windows、MacOS、Linux、UNIX等平臺(tái)上使用,可移植性好,快速靈活;MySQL作為開(kāi)源數(shù)據(jù)庫(kù),意味著開(kāi)發(fā)人員可以根據(jù)需求自由修改,所采用的社區(qū)版和商業(yè)版的雙授權(quán)政策,兼顧了免費(fèi)使用和付費(fèi)服務(wù)的需求,總體擁有成本低。在Web開(kāi)發(fā)、大數(shù)據(jù)開(kāi)發(fā)等領(lǐng)域,MySQL已占據(jù)著舉足輕重的地位,成為眾多企業(yè)項(xiàng)目開(kāi)發(fā)的數(shù)據(jù)庫(kù)首選。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.2MySQL8的新特性任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES021.默認(rèn)字符集由latin1變?yōu)閡tf8mb42.MyISAM系統(tǒng)表全部換成InnoDB表3.持久化自增變量4.DDL原子化5.更完善的JSON支持6.更好地索引7.groupby不再隱式排序8.增加角色管理9.新增事務(wù)數(shù)據(jù)字典10.增強(qiáng)資源管理11.支持窗口函數(shù)12.支持正則表達(dá)式13.增強(qiáng)的MySQL復(fù)制BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.3MySQL8的配置文件任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES02在安裝好MySQL8數(shù)據(jù)庫(kù)后,MySQL8會(huì)在安裝盤的..\ProgramData\MySQL\MySQLServer8.0路徑下生成一個(gè)配置文件my.ini。MySQL8服務(wù)器啟動(dòng)時(shí)就會(huì)讀取這個(gè)配置文件,我們可以通過(guò)操作系統(tǒng)自帶的記事本工具打開(kāi)查看和修改這個(gè)文件,達(dá)到更改MySQL8服務(wù)器配置參數(shù)的目的,配置文件內(nèi)容變更后要重啟MySQL8服務(wù),更新參數(shù)才會(huì)生效。1[client][client]用于設(shè)置客戶端各種配置。(1) port=3306客戶端默認(rèn)連接端口為3306。(2) socket=MYSQL本地連接的socket套接字(3) default_character_set=utf8設(shè)置默認(rèn)字符集BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.3MySQL8的配置文件任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES022[mysqld][mysqld]用于設(shè)置服務(wù)端基本配置(1) port=3306mysqld服務(wù)端監(jiān)聽(tīng)端口(2) character-set-server=utf8服務(wù)端使用的字符集默認(rèn)為UTF8(3) datadir=C:/ProgramData/MySQL/MySQLServer8.0\Data數(shù)據(jù)庫(kù)根目錄地址(4) max_allowed_packet=4M允許最大接收數(shù)據(jù)包的大小,防止服務(wù)器發(fā)送過(guò)大的數(shù)據(jù)包。(5) default_storage_engine=InnoDB創(chuàng)建數(shù)據(jù)表時(shí),默認(rèn)使用的存儲(chǔ)引擎。(6) max_connections=100最大連接數(shù),當(dāng)前服務(wù)器允許并發(fā)連接的最大數(shù)量。(7) max_user_connections=50用戶最大的連接數(shù)(8) thread_cache_size=64線程緩存,用于緩存空閑的線程。(9) default-time_zone='+8:00'配置時(shí)區(qū),+8:00表示東八區(qū)。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.4Windows安裝配置MySQL8及服務(wù)器的啟停任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES021Windows安裝配置MySQL8詳細(xì)安裝步驟參見(jiàn)教學(xué)視頻配置path系統(tǒng)環(huán)境變量MySQL安裝完畢后,為了操作方便,需要將MySQL8的bin目錄添加到系統(tǒng)環(huán)境變量path中。(1)打開(kāi)環(huán)境變量窗口(2)在“系統(tǒng)變量”列表中選擇“path”變量中添加C:\ProgramFiles\MySQL\MySQLServer8.0\binBYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.4Windows安裝配置MySQL8及服務(wù)器的啟停任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES022MySQL8服務(wù)的啟動(dòng)和停止第一種:通過(guò)Windows服務(wù)啟動(dòng)和停止MySQL第二種:通過(guò)命令啟動(dòng)和停止MySQLBYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.5MacOS安裝配置MySQL8及服務(wù)器的啟停任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES021MacOS安裝配置MySQL8詳細(xì)安裝步驟參見(jiàn)教學(xué)視頻2MySQL服務(wù)的啟動(dòng)和停止打開(kāi)MacOS的“系統(tǒng)偏好設(shè)置”,點(diǎn)擊“系統(tǒng)偏好設(shè)置”界面中的MySQL。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.2.6Linux安裝配置MySQL8及服務(wù)器的啟停任務(wù)二多表連接查詢JOINQUERIESFORMULTIPLETABLES021Linux安裝配置MySQL8詳細(xì)安裝步驟參見(jiàn)教學(xué)視頻2MySQL服務(wù)的啟動(dòng)和停止MySQL服務(wù)的啟動(dòng)只需要在控制臺(tái)輸入如下指令:#systemctlstartmysqldMySQL服務(wù)的停止則只需要在控制臺(tái)輸入如下指令:#systemctlstopmysqldBYYUSHEN任務(wù)三客戶端登錄使用MySQL8數(shù)據(jù)庫(kù)MySQL8數(shù)據(jù)庫(kù)安裝完畢并啟動(dòng)服務(wù)后,需要登錄MySQL8服務(wù)器才能開(kāi)始使用其中的數(shù)據(jù)庫(kù)資源和創(chuàng)建管理數(shù)據(jù)庫(kù)及對(duì)象。G-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”的后臺(tái)數(shù)據(jù)庫(kù),首先要通過(guò)正確的用戶名和密碼登錄MySQL服務(wù)器,可在命令行客戶端或更方便易用的圖形化客戶端進(jìn)行數(shù)據(jù)庫(kù)開(kāi)發(fā)和管理操作。03任務(wù)描述BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.1MySQL8的常用命令行客戶端任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES1Windows操作系統(tǒng)命令行工具cmdcmd命令提示符是在操作系統(tǒng)中,提示進(jìn)行命令輸入的一種工作提示符。在windows環(huán)境下,命令行程序?yàn)閏md.exe,是一個(gè)32位的命令行程序,微軟Windows系統(tǒng)基于Windows上的命令解釋程序,類似于微軟的DOS操作系統(tǒng)。我們可以借助cmd命令提示符來(lái)進(jìn)入MySQL8以及執(zhí)行常用的數(shù)據(jù)庫(kù)操作。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.1MySQL8的常用命令行客戶端任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES2MySQL8自帶命令行工具Command-LineClientMySQL8.0Command-LineClient是MySQL8數(shù)據(jù)庫(kù)自帶的一個(gè)的SQL命令行工具,與MySQL數(shù)據(jù)庫(kù)之間有很好的兼容性,它支持交互式和非交互式兩種使用方式:以交互方式使用時(shí),查詢結(jié)果以ASCII表格顯示結(jié)果;當(dāng)以非交互方式使用(例如,作為篩選器)時(shí),結(jié)果以制表符分隔的格式顯示。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.2MySQL8的常用圖形化客戶端任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES1MySQLWorkbenchMySQLWorkbench是MySQL8安裝包自帶的一個(gè)面向數(shù)據(jù)庫(kù)架構(gòu)師、開(kāi)發(fā)人員和數(shù)據(jù)庫(kù)管理員的可視化工具,它提供了先進(jìn)的數(shù)據(jù)庫(kù)建模、靈活的SQL文本編輯器和全面的管理控制臺(tái),可在Windows,Linux和MacOS操作系統(tǒng)上使用。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.2MySQL8的常用圖形化客戶端任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES2NavicatforMySQLNavicatforMySQL是管理和開(kāi)發(fā)MySQL的解決方案,是個(gè)商業(yè)軟件,需要付費(fèi)使用。它可以用來(lái)對(duì)本機(jī)或遠(yuǎn)程的MySQL數(shù)據(jù)庫(kù)進(jìn)行管理及開(kāi)發(fā)??蛇\(yùn)行在Windows、macOS、Linux三種操作系統(tǒng)中。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.2MySQL8的常用圖形化客戶端任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES3SQLyogSQLyog是一款圖形化界面的MySQL數(shù)據(jù)庫(kù)管理工具,試用期過(guò)后需要付費(fèi)試用,由Webyog公司出品。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.3使用命令行客戶端登錄/退出MySQL8任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES1Windows操作系統(tǒng)命令行工具cmd登錄數(shù)據(jù)庫(kù)mysql[-hIP地址][-P端口號(hào)]-u用戶名-p[密碼]mysql:MySQL服務(wù)器的登錄命令名。-h:指定登錄的MySQL服務(wù)器地址(域名或IP)。如果缺省-h參數(shù),表示默認(rèn)連接本機(jī)MySQL服務(wù)器。-P:指定連接的端口號(hào)。缺省-P參數(shù),表示默認(rèn)MySQL端口號(hào)3306。-u:指定登錄的用戶名。(-u和用戶名之間的空格可以省略)-p:指定登錄的密碼。如果在登錄時(shí)不希望密碼被直接看到,可以省略“-p”后面的密碼,然后回車后會(huì)提示輸入密碼表示使用密碼登錄到數(shù)據(jù)。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.3使用命令行客戶端登錄/退出MySQL8任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES2MySQL8自帶命令行工具Command-LineClient登錄數(shù)據(jù)庫(kù)使用操作系統(tǒng)的cmd工具登錄MySQL8數(shù)據(jù)庫(kù)服務(wù)器相對(duì)比較麻煩,而且命令中的參數(shù)較多難記憶。也可使用對(duì)應(yīng)MySQL8所自帶的Command-LineClient工具,簡(jiǎn)單地只要輸入該MySQL8數(shù)據(jù)庫(kù)服務(wù)器的登錄密碼,就可很便捷地直接登錄了。BYYUSHEN03

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1.3.4使用Workbench圖形化客戶端登錄數(shù)據(jù)庫(kù)任務(wù)三排序與限行查詢SORTANDLIMITEDQUERIES2MySQL8自帶圖形化工具M(jìn)ySQLWorkbench登錄數(shù)據(jù)庫(kù)(1)打開(kāi)“MySQLWorkbench8.0”圖形化客戶端工具。(2)點(diǎn)擊“LocalinstanceMySQL80”準(zhǔn)備登錄MySQL數(shù)據(jù)庫(kù)。(3)在彈出的登錄界面中,輸入root賬戶的密碼,并點(diǎn)擊“ok”按鈕確認(rèn)登錄。BYYUSHENTHANKYOU

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用BYYUSHEN數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用DATABASETECHNOLOGYANDAPPLICATION任務(wù)1創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)任務(wù)2創(chuàng)建維護(hù)數(shù)據(jù)表任務(wù)3實(shí)現(xiàn)數(shù)據(jù)完整性約束項(xiàng)目模塊2數(shù)據(jù)庫(kù)

管理篇任務(wù)4操作表數(shù)據(jù)任務(wù)5備份與遷移數(shù)據(jù)庫(kù)CONTENTSBYYUSHENYOURLOGOAUNIVERSITY01任務(wù)1創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)02任務(wù)2創(chuàng)建維護(hù)數(shù)據(jù)表點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)03任務(wù)3實(shí)現(xiàn)數(shù)據(jù)完整性約束點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)04任務(wù)4操作表數(shù)據(jù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)05任務(wù)5備份與遷移數(shù)據(jù)庫(kù)點(diǎn)擊查看本任務(wù)知識(shí)技術(shù)點(diǎn)BYYUSHEN崗位能力能使用SQL命令和Workbench圖形化工具正確創(chuàng)建維護(hù)數(shù)據(jù)庫(kù);能使用SQL命令和Workbench圖形化工具正確創(chuàng)建維護(hù)數(shù)據(jù)表;能為表中字段列設(shè)置合理的約束;能使用SQL命令添、改、刪表數(shù)據(jù);能使用SQL命令和Workbench圖形化工具為數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)、導(dǎo)出和導(dǎo)入;能操作遷移數(shù)據(jù)庫(kù);技能證書(shū)標(biāo)準(zhǔn)解答客戶數(shù)據(jù)庫(kù)、表管理的理論和操作問(wèn)題;指導(dǎo)客戶運(yùn)用SQL的DDL語(yǔ)言建刪改查數(shù)據(jù)庫(kù)、表;根據(jù)客戶需求運(yùn)用SQL的DML語(yǔ)言編寫數(shù)據(jù)管理語(yǔ)句;推薦客戶使用合理的備份容災(zāi)方案;指導(dǎo)客戶數(shù)據(jù)完整性約束的基本概念、分類、作用,并使用SQL語(yǔ)句定義、命名、更新完整性約束的操作方法及應(yīng)用;思政素養(yǎng)養(yǎng)成嚴(yán)謹(jǐn)細(xì)致的工作態(tài)度和操作習(xí)慣;認(rèn)識(shí)到事物之間的有機(jī)統(tǒng)一和聯(lián)系,強(qiáng)化制度約束;對(duì)工作任務(wù)的綜合全面考慮的習(xí)慣,學(xué)會(huì)未雨綢繆的前瞻性;科技興國(guó)的抱負(fù),職業(yè)責(zé)任的擔(dān)當(dāng),不畏困難積極創(chuàng)新的精神;數(shù)據(jù)庫(kù)管理

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊2BYYUSHEN數(shù)據(jù)庫(kù)管理

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊2高校教學(xué)質(zhì)量分析管理系統(tǒng)數(shù)據(jù)庫(kù)db_teachingG-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”,對(duì)評(píng)價(jià)、評(píng)分、評(píng)學(xué)、評(píng)教等教學(xué)質(zhì)量相關(guān)數(shù)據(jù),和教師、學(xué)生、課程、專業(yè)等教學(xué)實(shí)體相關(guān)數(shù)據(jù)要進(jìn)行存儲(chǔ)、管理和分析,需先為系統(tǒng)創(chuàng)建后臺(tái)數(shù)據(jù)庫(kù),并在其中建立相應(yīng)的數(shù)據(jù)表來(lái)分類存放要管理和分析的數(shù)據(jù),教學(xué)質(zhì)量督導(dǎo)處及教師和學(xué)生對(duì)各表中相應(yīng)數(shù)據(jù)可添加、修改、刪除。為防止意外或誤操作可能導(dǎo)致的數(shù)據(jù)損壞與丟失,以及遷移數(shù)據(jù)的需要,通過(guò)對(duì)數(shù)據(jù)進(jìn)行備份恢復(fù)、導(dǎo)出導(dǎo)入的管理手段,保障數(shù)據(jù)的安全性和高可用性。項(xiàng)目模塊情境BYYUSHEN任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)

G-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”,要將所需管理和分析的原數(shù)據(jù)能集中共享存放,先為系統(tǒng)創(chuàng)建一個(gè)后臺(tái)數(shù)據(jù)庫(kù)db_teaching。若數(shù)據(jù)庫(kù)字符集或校對(duì)集設(shè)置不合適造成數(shù)據(jù)亂碼,可重新修改或刪除重建db_teaching數(shù)據(jù)庫(kù)。任務(wù)描述01BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.1MySQL服務(wù)器中的數(shù)據(jù)庫(kù)構(gòu)成任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseMySQL服務(wù)器中的數(shù)據(jù)庫(kù)包括系統(tǒng)數(shù)據(jù)庫(kù)和用戶數(shù)據(jù)庫(kù)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.2字符集與校對(duì)集任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase字符集定義了存儲(chǔ)字符的方式。校對(duì)集(Collation/Collate)則定義了比較這些字符的方式,是在相應(yīng)的字符集內(nèi)用于字符比較和排序的一套規(guī)則。MySQL中可通過(guò)SHOWCHARACTERSET命令和SHOWCOLLATION命令查看所支持的所有字符集和校對(duì)集。1認(rèn)識(shí)字符集與校對(duì)集BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.2字符集與校對(duì)集任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseMySQL常用的字符集及其默認(rèn)校對(duì)集。1認(rèn)識(shí)字符集與校對(duì)集BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.2字符集與校對(duì)集任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase設(shè)置修改MySQL各層級(jí)的默認(rèn)字符集,可以更改字符集相關(guān)系統(tǒng)變量的值來(lái)實(shí)現(xiàn)。2

MySQL默認(rèn)字符集的設(shè)置修改表2-3與字符集相關(guān)的系統(tǒng)變量BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.2字符集與校對(duì)集任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase查看當(dāng)前MySQL8服務(wù)器的字符集變量,設(shè)置客戶端、服務(wù)器、數(shù)據(jù)庫(kù)等各級(jí)的默認(rèn)字符集統(tǒng)一為utf8mb4,以避免在轉(zhuǎn)碼過(guò)程中可能出現(xiàn)的亂碼問(wèn)題。(1)使用“SHOWVARIABLES”命令查看當(dāng)前MySQL8的字符集變量;mysql>SHOWVARIABLESLIKE'CHARACTER%';(2)通過(guò)“SET變量名=值”命令更改客戶端、連接層、查詢結(jié)果字符集為utf8mb4?;蛘連YYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.3創(chuàng)建數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseMySQL中使用CREATEDATABASE或CREATESCHEMA命令創(chuàng)建數(shù)據(jù)庫(kù),其SQL命令語(yǔ)法格式如下:CREATEDATABASE|SCHEMA[IFNOTEXISTS]數(shù)據(jù)庫(kù)名

[[DEFAULT]CHARACTERSET|CHARSET字符集[[DEFAULT]COLLATE校對(duì)集]];CREATEDATABASE或CREATESCHEMA為創(chuàng)建數(shù)據(jù)庫(kù)的命令動(dòng)詞關(guān)鍵字。MySQL中的SQL語(yǔ)句可以單行或多行書(shū)寫,多行書(shū)寫時(shí)可按回車鍵換行,每個(gè)SQL語(yǔ)句完成時(shí)以英文分號(hào)(;)或者/g結(jié)尾。數(shù)據(jù)庫(kù)名:可以是字母、數(shù)字、下劃線組成的字符串,不能用MySQL關(guān)鍵字作為數(shù)據(jù)庫(kù)名和表名;默認(rèn)情況下,在Windows下數(shù)據(jù)庫(kù)名和表名的大小寫是不敏感的,但在Linux下數(shù)據(jù)庫(kù)名和表名的大小寫是敏感的,為了便于數(shù)據(jù)庫(kù)在平臺(tái)間的移植,建議用小寫字母來(lái)定義數(shù)據(jù)庫(kù)名和表名。IFNOTEXISTS:MySQL不允許在同一服務(wù)器中創(chuàng)建兩個(gè)同名的數(shù)據(jù)庫(kù),所以如果創(chuàng)建的數(shù)據(jù)庫(kù)已存在,則命令執(zhí)行會(huì)報(bào)錯(cuò)??稍跀?shù)據(jù)庫(kù)名前添加IFNOTEXISTS選項(xiàng),表示如果指定的數(shù)據(jù)庫(kù)不存在時(shí)才執(zhí)行創(chuàng)建操作,若已存在則忽略此創(chuàng)建操作,從而避免重名創(chuàng)建的問(wèn)題。DEFAULT:指定默認(rèn)字符集或校對(duì)集。CHARACTERSET或CHARSET:指定數(shù)據(jù)庫(kù)的字符集。COLLATE:指定數(shù)據(jù)庫(kù)的校對(duì)集。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.3創(chuàng)建數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase創(chuàng)建一個(gè)名為test_db1的數(shù)據(jù)庫(kù),采用字符集gb2312和校對(duì)集gb2312_chinese_ci。mysql>CREATEDATABASEtest_db1CHARSETgb2312COLLATEgb2312_chinese_ci;數(shù)據(jù)庫(kù)已經(jīng)存在,可以通過(guò)IFNOTEXISTS關(guān)鍵字使得在創(chuàng)建數(shù)據(jù)庫(kù)前進(jìn)行判斷,可避免出現(xiàn)數(shù)據(jù)庫(kù)已經(jīng)存在而再新建重名數(shù)據(jù)庫(kù)的錯(cuò)誤。mysql>CREATEDATABASEIFNOTEXISTStest_db1CHARSETgb2312;創(chuàng)建一個(gè)名為test_db2的數(shù)據(jù)庫(kù),默認(rèn)MySQL8的字符集utf8mb4及其默認(rèn)校對(duì)集utf8mb4_0900_ai_ci。mysql>CREATEDATABASEtest_db2;BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.3創(chuàng)建數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase創(chuàng)建數(shù)據(jù)庫(kù)時(shí)若指定了字符集而沒(méi)指定校對(duì)集,則采用該字符集對(duì)應(yīng)的默認(rèn)校對(duì)集。若字符集和校對(duì)集都沒(méi)指定,則默認(rèn)采用MySQL8服務(wù)器字符集utf8mb4和對(duì)應(yīng)的服務(wù)器校對(duì)集utf8mb4_0900_ai_ci。MySQL8服務(wù)器中創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)后,文件系統(tǒng)中會(huì)在其存儲(chǔ)數(shù)據(jù)的文件夾data中生成一個(gè)與數(shù)據(jù)庫(kù)同名的目錄,用于保存此數(shù)據(jù)庫(kù)相關(guān)的對(duì)象內(nèi)容。MySQL8的默認(rèn)數(shù)據(jù)存儲(chǔ)路徑為C:\ProgramData\MySQL\MySQLServer8.0\Data。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.4查看數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseSHOWDATABASES;1查看MySQL服務(wù)器中所有數(shù)據(jù)庫(kù)列表數(shù)據(jù)庫(kù)創(chuàng)建完成后,可以查看服務(wù)器中的所有數(shù)據(jù)庫(kù),以確認(rèn)數(shù)據(jù)庫(kù)是否創(chuàng)建成功。SHOWCREATEDATABASE數(shù)據(jù)庫(kù)名;2查看指定數(shù)據(jù)庫(kù)的創(chuàng)建信息若要查看某個(gè)指定的數(shù)據(jù)庫(kù)的創(chuàng)建信息及其字符集校對(duì)集,其SQL命令語(yǔ)法格式如下。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.5選擇數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseUSE數(shù)據(jù)庫(kù)名

;

USE語(yǔ)句可以實(shí)現(xiàn)選擇一個(gè)數(shù)據(jù)庫(kù)使其成為當(dāng)前數(shù)據(jù)庫(kù)。MYSQL-u用戶名

-p密碼

數(shù)據(jù)庫(kù)名在用戶登錄MySQL服務(wù)器時(shí)也可以直接選擇要操作的當(dāng)前數(shù)據(jù)庫(kù),命令語(yǔ)法格式如下。登錄MySQL服務(wù)器同時(shí)選擇test_db1為當(dāng)前數(shù)據(jù)庫(kù),登錄后,將當(dāng)前數(shù)據(jù)庫(kù)更換為test_db2。C:\WINDOWS\system32>mysql-uroot-ptest_db1mysql>usetest_db2;DatabasechangedBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.6修改數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseALTERDATABASE|SCHEMA[IFNOTEXISTS]數(shù)據(jù)庫(kù)名

[[DEFAULT]CHARACTERSET|CHARSET字符集[[DEFAULT]COLLATE校對(duì)集]];

ALTERDATABASE修改數(shù)據(jù)庫(kù)。修改數(shù)據(jù)庫(kù)test_db1的字符集和校對(duì)集為MySQL8服務(wù)器默認(rèn)的utf8mb4和utf8mb4_0900_ai_ci。mysql>ALTERDATABASEtest_db1CHARSETutf8mb4;QueryOK,1rowaffected(0.01sec)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.7刪除數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)CreateandmaintaindatabaseDROPDATABASE|SCHEMA[IFEXISTS]數(shù)據(jù)庫(kù)名

;通過(guò)DROPDATABASE或者DROPSCHEMA語(yǔ)句刪除已經(jīng)存在的數(shù)據(jù)庫(kù)。。刪除數(shù)據(jù)庫(kù)test_db1。mysql>DROPDATABASEtest_db1;QueryOK,0rowaffected(0.01sec)DROPDATABASE語(yǔ)句刪除數(shù)據(jù)庫(kù)時(shí),若待刪除的數(shù)據(jù)庫(kù)不存在,MySQL服務(wù)器會(huì)報(bào)錯(cuò)。因此,可以在刪除數(shù)據(jù)庫(kù)時(shí)使用“IFEXISTS”選項(xiàng),刪除前會(huì)判斷該數(shù)據(jù)庫(kù)是否存在,只有存在時(shí),才會(huì)執(zhí)行刪除操作,避免產(chǎn)生異常。在執(zhí)行刪除數(shù)據(jù)庫(kù)操作前,一定要備份需要保留的數(shù)據(jù),確保數(shù)據(jù)的安全。養(yǎng)成嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和操作步驟,才能避免失誤的嚴(yán)重后果。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.8SQL命令行客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase1創(chuàng)建“高校教學(xué)質(zhì)量分析管理系統(tǒng)”數(shù)據(jù)庫(kù)db_teaching,默認(rèn)MySQL8服務(wù)器字符集utf8mb4及其默認(rèn)校對(duì)集。2查看服務(wù)器中已有的數(shù)據(jù)庫(kù)清單。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.8SQL命令行客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase3查看db_teaching數(shù)據(jù)庫(kù)的創(chuàng)建信息。4選擇db_teaching數(shù)據(jù)庫(kù)為當(dāng)前數(shù)據(jù)庫(kù)。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.9MySQLWorkbench客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase1創(chuàng)建高校教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)DB_Teaching,默認(rèn)MySQL8服務(wù)器字符集utf8mb4及其默認(rèn)校對(duì)集。并刷新查看服務(wù)器中創(chuàng)建的所有數(shù)據(jù)庫(kù)。圖2-9創(chuàng)建數(shù)據(jù)庫(kù)窗口圖2-10創(chuàng)建數(shù)據(jù)庫(kù)DB_TeachingBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.9MySQLWorkbench客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase2查看db_teaching數(shù)據(jù)庫(kù)的創(chuàng)建信息。圖2-11查看DB_Teaching數(shù)據(jù)庫(kù)信息BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.9MySQLWorkbench客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase3修改db_teaching數(shù)據(jù)庫(kù)的字符集為utf8。圖2-12修改DB_Teaching數(shù)據(jù)庫(kù)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.1.9MySQLWorkbench客戶端創(chuàng)建管理數(shù)據(jù)庫(kù)任務(wù)一創(chuàng)建維護(hù)數(shù)據(jù)庫(kù)Createandmaintaindatabase4刪除db_teaching數(shù)據(jù)庫(kù)。圖2-13刪除DB_Teaching數(shù)據(jù)庫(kù)BYYUSHEN任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表G-EDU格諾博教育公司創(chuàng)建完成“高校教學(xué)質(zhì)量分析管理系統(tǒng)”的后臺(tái)數(shù)據(jù)庫(kù)后,學(xué)生、教師、課程、督導(dǎo)專家、學(xué)院、班級(jí)、專業(yè)、評(píng)學(xué)評(píng)教成績(jī)以及教學(xué)質(zhì)量評(píng)價(jià)等多方面的數(shù)據(jù),需要相應(yīng)的數(shù)據(jù)表進(jìn)行存放和管理。因此需要在db_teaching數(shù)據(jù)庫(kù)中建立相應(yīng)的數(shù)據(jù)表,用以分別存儲(chǔ)不同的數(shù)據(jù)記錄,并能靈活修改數(shù)據(jù)表的結(jié)構(gòu)以能正確存放數(shù)據(jù),對(duì)無(wú)意義的數(shù)據(jù)表也能隨時(shí)刪除以釋放存儲(chǔ)空間。任務(wù)描述02BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.1為數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)引擎任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable021查看MySQL8支持的存儲(chǔ)引擎

MySQL8服務(wù)器可通過(guò)SHOWENGINES命令查看所支持的存儲(chǔ)引擎。查看MySQL8服務(wù)器所支持的存儲(chǔ)引擎。mysql>SHOWENGINES;BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.1為數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)引擎任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable021查看MySQL8支持的存儲(chǔ)引擎

MySQL常見(jiàn)存儲(chǔ)引擎BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.1為數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)引擎任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable022查看和修改MySQL8默認(rèn)存儲(chǔ)引擎(1)查看MySQL8服務(wù)器默認(rèn)存儲(chǔ)引擎MySQL8服務(wù)器可通過(guò)SHOWVARIABLES命令查看服務(wù)器默認(rèn)存儲(chǔ)引擎。查看MySQL8服務(wù)器默認(rèn)存儲(chǔ)引擎。mysql>SHOWVARIABLESLIKE'default_storage_engine%';BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.1為數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)引擎任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable022查看和修改MySQL8默認(rèn)存儲(chǔ)引擎將MySQL8服務(wù)器和數(shù)據(jù)庫(kù)的默認(rèn)存儲(chǔ)引擎由InnoDB臨時(shí)修改設(shè)置為MyISAM。mysql>SETdefault_storage_engine=MyISAM;QueryOK,0rowsaffected(0.00sec)mysql>SHOWVARIABLESLIKE'default_storage_engine%';(2)修改設(shè)置MySQL8默認(rèn)存儲(chǔ)引擎使用SET語(yǔ)句可以為default_storage_engine變量賦值為要修改的存儲(chǔ)引擎名,從而修改服務(wù)器和數(shù)據(jù)庫(kù)臨時(shí)的默認(rèn)存儲(chǔ)引擎。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.1為數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)引擎任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable02MySQL首選InnoDB數(shù)據(jù)庫(kù)存儲(chǔ)引擎。InnoDB是MySQL8服務(wù)器和數(shù)據(jù)庫(kù)的默認(rèn)事務(wù)型存儲(chǔ)引擎,也是具有高可靠性和高性能的通用存儲(chǔ)引擎,支持事務(wù)處理,是為處理巨大數(shù)據(jù)量的最大性能設(shè)計(jì)。InnoDB存儲(chǔ)引擎完全與MySQL服務(wù)器整合,InnoDB表文件大小不受限制,能夠自動(dòng)從災(zāi)難中恢復(fù),支持自增列AUTO_INCREAMENT屬性。而且MySQL支持外鍵完整性約束的存儲(chǔ)引擎只有InnoDB。2查看和修改MySQL8默認(rèn)存儲(chǔ)引擎BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable021整數(shù)類型MySQL的整數(shù)類型用于保存整數(shù)。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable02各整數(shù)類型的字節(jié)數(shù)和取值范圍是確定的,所以無(wú)需在類型名稱后面再指定數(shù)據(jù)寬度。如果在整數(shù)類型名稱后面指定寬度,是指定的顯示寬度。比如INT(5),表示該數(shù)最大能夠顯示5位的數(shù)值,但數(shù)據(jù)的取值范圍仍是-231~231-1。1整數(shù)類型2.2.2MySQL的數(shù)據(jù)類型BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable022浮點(diǎn)與定點(diǎn)類型MySQL中,使用浮點(diǎn)數(shù)和定點(diǎn)數(shù)來(lái)表示小數(shù)。浮點(diǎn)數(shù)在數(shù)據(jù)庫(kù)中存放的是近似值,包括單精度浮點(diǎn)數(shù)(FLOAT)和雙精度浮點(diǎn)數(shù)(DOUBLE);定點(diǎn)數(shù)在數(shù)據(jù)庫(kù)中存放的是精確值,定點(diǎn)數(shù)類型是DECIMAL。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable02浮點(diǎn)類型也可以設(shè)置位數(shù)和精度,但仍有可能損失精度。實(shí)際應(yīng)用中,浮點(diǎn)數(shù)的定義不建議使用位數(shù)和精度,以免影響數(shù)據(jù)庫(kù)的遷移,并且避免使用浮點(diǎn)類型,以免出現(xiàn)不能認(rèn)為控制的問(wèn)題。對(duì)于小數(shù)的數(shù)據(jù)類型的設(shè)置,推薦使用定點(diǎn)類型DECIMAL并設(shè)置合理范圍可以使數(shù)值使用和計(jì)算更為準(zhǔn)確。2浮點(diǎn)與定點(diǎn)類型2.2.2MySQL的數(shù)據(jù)類型BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable023字符(串)類型MySQL中用字符串類型存儲(chǔ)字符數(shù)據(jù),字符串?dāng)?shù)據(jù)類型又分為CHAR、VARCHAR、TEXT、ENUM、SET等多種類型。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable023字符(串)類型(1)CHAR類型和VARCHAR類型CHAR類型和VARCHAR類型都用于存儲(chǔ)較短的字符串。CHAR(M)或VARCHAR(M)參數(shù)M表示字符串的長(zhǎng)度或最大長(zhǎng)度。CHAR類型和VARCHAR類型主要區(qū)別在于:CHAR類型的長(zhǎng)度固定為創(chuàng)建表時(shí)聲明的長(zhǎng)度,長(zhǎng)度可以為0~255的任何值,存儲(chǔ)長(zhǎng)度與聲明時(shí)長(zhǎng)度一致;而VARCHAR類型的長(zhǎng)度是可變的,在創(chuàng)建表時(shí)指定最大長(zhǎng)度,長(zhǎng)度最大值可以取0~65525之間的任意值,但存儲(chǔ)長(zhǎng)度是根據(jù)字符串實(shí)際長(zhǎng)度使用多少就分配多少。在檢索時(shí),CHAR列會(huì)刪除尾部的空格,而VARCHAR列則保留這些空格。比如CHAR(2)表示定義的CHAR類型的字符串?dāng)?shù)據(jù)長(zhǎng)度為2;VARCHAR(10)表示定義的VARCHAR類型的字符串?dāng)?shù)據(jù)最大長(zhǎng)度為10。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable023字符(串)類型(2)TEXT類型TEXT類型,只能保存字符數(shù)據(jù),一般用于存儲(chǔ)比較大的文本,如新聞的內(nèi)容等。TEXT類型根據(jù)允許的長(zhǎng)度不同,又可以分為TINYTEXT,TEXT,MEDIUMTEXT及LONGTEXT四種類型。ENUM('值1','值2',...,'值n')(3)ENUM類型ENUM類型又稱之為枚舉類型,它的值范圍需要在創(chuàng)建表時(shí)通過(guò)枚舉方式顯示指定。其定義時(shí)的基本形式如下:'值1','值2',...,'值n'又稱之為枚舉列表,ENUM類型的數(shù)據(jù)只能從枚舉列表中取值,并且只能選取其中一個(gè)值。如ENUM(’男’,’女’)表示該數(shù)據(jù)的值只能選取“男”或者“女”,且只能選取其中一個(gè)。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable023字符(串)類型(4)SET類型SET類型是一組字符串值。SET類型和ENUM類型非常相似,它的值范圍需要在創(chuàng)建表時(shí)規(guī)定的列表值,其定義格式如下:SET('值1','值2',...,'值n')SET類型的列表中可以包含0~64個(gè)成員,SET類型的數(shù)據(jù)也只能從列表中取值,但可以同時(shí)選取多個(gè)值。如類型為定義為SET('one','two')的列,合法的值可以是“one”或者“two”、或者是“one”和“two”。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable02ENUM類型的值只能去列表中的一個(gè)元素,其取值列表中最多只能有65535個(gè)值。列表中的每個(gè)值都有一個(gè)順序排列的編號(hào),MySQL中存入的是這個(gè)編號(hào),而不是列表中的值。如果ENUM類型加上了NOTNULL屬性,其默認(rèn)值為取值列表中的第一個(gè)元素。如果不加NOTNULL屬性,ENUM類型將允許插入NULL,而且NULL為默認(rèn)值。ENUM類型和SET類型的區(qū)別:SET類型一次可以選取多個(gè)成員,而ENUM則只能選一個(gè),就相當(dāng)于ENUM類型是單選,而SET類型是復(fù)選。3字符(串)類型BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型日期時(shí)間類型用于在數(shù)據(jù)庫(kù)中存儲(chǔ)日期和時(shí)間數(shù)據(jù)。YYYY表示年份,MM表示月份,DD表示日,HH:MM:SS分別表示小時(shí)數(shù)、分鐘數(shù)和秒鐘數(shù)。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型(1)YEAR類型YEAR類型是用于表示年份的數(shù)據(jù)類型,有4位和2位的格式,默認(rèn)為4位的格式,允許的值是1901~2155和0000。給YEAR類型賦值可以有三種方法。第一種是直接插入4位字符串或者4位數(shù)字。第二種是插入2位字符串,這種情況下如果插入‘00’~‘69’,則相當(dāng)于插入2000~2069;如果插入‘70’~‘99’,則相當(dāng)于插入1970~1999。第二種情況下插入的如果是‘0’,則與插入‘00’效果相同,都是表示2000年。第三種是插入2位數(shù)字,它與第二種(插入兩位字符串)不同之處僅在于:如果插入的是一位數(shù)字0,則表示的是0000,而不是2000年。所以在給YEAR類型賦值時(shí),一定要分清0和‘0’,雖然兩者僅相差個(gè)引號(hào),但實(shí)際效果確實(shí)相差了2000年。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型(2)TIME類型TIME類型是用于表示為時(shí)分秒的數(shù)據(jù)類型,其顯示形式為HH:MM:SS。HH表示小時(shí)數(shù),取值范圍是-838~838,MM和SS分別表示分鐘數(shù)和秒鐘數(shù),取值范圍是0~59。給TIME類型賦值可以有三種方法。第一種是以'DHH:MM:SS’字符串格式表示。其中,D表示日,可以取0~34之間的值,插入數(shù)據(jù)時(shí),小時(shí)的值等于(D×24+HH)。如賦值“110:20:30”,則插入數(shù)據(jù)庫(kù)中的日期為“34:20:30”。第二種是以'HHMMSS’字符串格式或者HHMMSS數(shù)字格式表示。例如,輸入’112233'或112233,插入數(shù)據(jù)庫(kù)中的日期為“11:22:33”。第三種是使用CURRENT_TIME或NOW()輸入當(dāng)前系統(tǒng)時(shí)間。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型(3)DATE類型DATE類型是用于表示年月日格式的數(shù)據(jù)類型,其值以YYYY-MM-DD格式來(lái)顯示,插入數(shù)據(jù)時(shí),數(shù)據(jù)可以保持這種格式。MySQL還支持一些不嚴(yán)格的語(yǔ)法格式,分隔符“-”可以用“@”、“.”等符號(hào)替代。在插入數(shù)據(jù)時(shí),也可以使用“YY-MM-DD”格式,YY轉(zhuǎn)化成對(duì)應(yīng)的年份的規(guī)則與YEAR類型類似。還可以通過(guò)插入CURRENT_DATE或者NOW()來(lái)插入當(dāng)前系統(tǒng)的時(shí)間。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型(4)DATETIME類型DATETIME類型是用于表示日期和時(shí)間的數(shù)據(jù)類型,其顯示形式為’YYYY-MM-DDHH:MM:SS’。在MySQL中,可以使用以下4種格式指定DATETIME類型的值。第一種是以’YYYY-MM-DDHH:M:SS’或者’YYYYMMDDHHMMSS’字符串格式表示的日期和時(shí)間,取值范圍為’1000-01-0100:00:00~’9999-12-323:59:59’。如賦值’2022-04-0518:33:12’或20220405183312,則插入數(shù)據(jù)庫(kù)中的DATETIM值都為2014-01-2209:01:23。第二種是以’YY-MM-DDH:MM:SS’或者’YYMMDDHHMMSS’字符串格式表示的日期和時(shí)間,其中YY表示年,取值范圍為’00’~’99’。與DATE類型中的YY相同,’00’~’69’范圍的值會(huì)被轉(zhuǎn)換為2000~2069范圍的值,’70’~’99’范圍的值會(huì)被轉(zhuǎn)換為1970~1999范圍的值。第三種是以YYYYMMDDHHMMSS或者YYMMDDHHMMSS數(shù)字格式表示的日期和時(shí)間。如插入20220405183312或者220405183312,插入數(shù)據(jù)庫(kù)中的DATETIME值都為2022-04-0518:33:12。第四種是使用NOW()來(lái)輸入當(dāng)前的日期和時(shí)間。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable024日期時(shí)間類型(5)TIMESTAMP類型TIMESTAMP類型和DATETIME類型類似,都是用于表示日期和時(shí)間的數(shù)據(jù)類型,有效范圍是'1970-01-0100:00:01'UTC~'2038-01-1903:14:07'UTC。TIMESTAMP的取值范圍相對(duì)于DATETIME類型比較小,該類型的數(shù)據(jù)插入方式也與插入DATETIME類型數(shù)據(jù)類似,二者插入數(shù)據(jù)方式不同點(diǎn)在于:第一是TIMESTAMP類型插入當(dāng)前時(shí)間時(shí),除了插入DATETIME類型數(shù)據(jù)的方法外,還可以使用CURRENT_TIMESTAMP插入;第二是輸入NULL或無(wú)任何輸入時(shí),系統(tǒng)都會(huì)自動(dòng)輸入當(dāng)前的系統(tǒng)時(shí)間。另外有很特殊的一點(diǎn),TIMESTAMP的數(shù)值是與時(shí)區(qū)相關(guān)的。BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable02日期時(shí)間類型中的每一種數(shù)據(jù)類型都有一個(gè)有效值范圍,當(dāng)插入值超出有效取值范圍時(shí),系統(tǒng)會(huì)報(bào)錯(cuò),并將零值插入到數(shù)據(jù)庫(kù)中。4日期時(shí)間類型BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable025二進(jìn)制類型二進(jìn)制類型是存儲(chǔ)二進(jìn)制數(shù)據(jù)的數(shù)據(jù)類型BYYUSHEN

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2.2.2MySQL的數(shù)據(jù)類型任務(wù)二創(chuàng)建維護(hù)數(shù)據(jù)表Createandmaintaintable025二進(jìn)制類型(1)BINARY類型和VARBINARY類型BINARY和VARBINARY類型與CHAR和VARCHAR類似,只是它們存儲(chǔ)的是二進(jìn)制字符串,而非字符型字符串

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論