MySQL數(shù)據(jù)庫教程(微課版第2版) 課件 鄭阿奇 第1、2章 MySQL初步、MySQL數(shù)據(jù)庫和表_第1頁
MySQL數(shù)據(jù)庫教程(微課版第2版) 課件 鄭阿奇 第1、2章 MySQL初步、MySQL數(shù)據(jù)庫和表_第2頁
MySQL數(shù)據(jù)庫教程(微課版第2版) 課件 鄭阿奇 第1、2章 MySQL初步、MySQL數(shù)據(jù)庫和表_第3頁
MySQL數(shù)據(jù)庫教程(微課版第2版) 課件 鄭阿奇 第1、2章 MySQL初步、MySQL數(shù)據(jù)庫和表_第4頁
MySQL數(shù)據(jù)庫教程(微課版第2版) 課件 鄭阿奇 第1、2章 MySQL初步、MySQL數(shù)據(jù)庫和表_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章MySQL初步——數(shù)據(jù)庫和數(shù)據(jù)模型MySQL教程(第2版)01數(shù)據(jù)庫系統(tǒng)1.?dāng)?shù)據(jù)庫2.?dāng)?shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)和核心。如圖。數(shù)據(jù)庫系統(tǒng)1.?dāng)?shù)據(jù)庫數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。是一個(gè)可長期存儲在計(jì)算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。2.?dāng)?shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心組成部分,主要完成對數(shù)據(jù)庫的操作與管理功能,實(shí)現(xiàn)數(shù)據(jù)庫對象的創(chuàng)建、數(shù)據(jù)庫存儲數(shù)據(jù)的查詢、添加、修改與刪除操作和數(shù)據(jù)庫的用戶管理、權(quán)限管理等。02數(shù)據(jù)模型1.層次模型2.網(wǎng)狀模型3.關(guān)系模型數(shù)據(jù)模型1.層次模型將數(shù)據(jù)組織成一對多關(guān)系的結(jié)構(gòu),用樹形結(jié)構(gòu)表示實(shí)體及實(shí)體間的聯(lián)系

。如圖為按層次模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型2.網(wǎng)狀模型用連接指令或指針來確定數(shù)據(jù)間的網(wǎng)狀連接關(guān)系,是具有多對多類型的數(shù)據(jù)組織方式。如圖為按網(wǎng)狀模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型3.關(guān)系模型以記錄組或數(shù)據(jù)表的形式組織數(shù)據(jù),以便于利用各種實(shí)體與屬性之間的關(guān)系進(jìn)行存儲和變換,不分層也無指針,是建立空間數(shù)據(jù)和屬性數(shù)據(jù)之間關(guān)系的一種非常有效的數(shù)據(jù)組織方法

。例如,網(wǎng)上商城管理系統(tǒng)所涉及的商品類別、商品、供貨商、用戶、訂單、訂單項(xiàng)等表中,其中商品表主要信息包括商品編號、商品名稱、價(jià)格、庫存量和商品圖片等,部分?jǐn)?shù)據(jù)如表。商品編號商品名稱價(jià)格庫存量1A0101洛川紅富士蘋果冰糖心10斤箱裝44.8036011A0201煙臺紅富士蘋果10斤箱裝29.8056981A0302阿克蘇蘋果冰糖心5斤箱裝29.80126801B0501庫爾勒香梨10斤箱裝69.8089021B0601碭山梨10斤箱裝大果19.90145321B0602碭山梨5斤箱裝特大果16.9068341GA101智利車?yán)遄?斤大櫻桃整箱順豐包郵59.8054202A1602[王明公]農(nóng)家散養(yǎng)豬冷凍五花肉3斤裝118.003752B1701Tyson/泰森雞胸肉454g*5去皮冷凍包郵139.0016822B1702[周黑鴨]鹵鴨脖15g*50袋99.0059633BA301波士頓龍蝦特大鮮活1斤149.0028003C2205[參王朝]大連6-7年深海野生干海參1188.0012034A1601農(nóng)家散養(yǎng)草雞蛋40枚包郵33.906904C2402青島啤酒500ml*24聽整箱112.0023427數(shù)據(jù)模型隨著數(shù)據(jù)庫應(yīng)用領(lǐng)域的進(jìn)一步拓展與深入,對象數(shù)據(jù)、空間數(shù)據(jù)、圖像與圖形數(shù)據(jù)、聲音數(shù)據(jù)、關(guān)聯(lián)文本數(shù)據(jù)及海量倉庫數(shù)據(jù)等出現(xiàn),為了適應(yīng)應(yīng)用需要,數(shù)據(jù)模型向下列幾個(gè)發(fā)展。對傳統(tǒng)關(guān)系模型的擴(kuò)充,以實(shí)現(xiàn)關(guān)系模型嵌套,支持關(guān)系繼承及關(guān)系函數(shù)等。(1)(2)XML從數(shù)據(jù)交換領(lǐng)域發(fā)展到了數(shù)據(jù)存儲與業(yè)務(wù)描述領(lǐng)域,數(shù)據(jù)庫系統(tǒng)都已支持對XML的存儲與處理。(3)研究新的數(shù)據(jù)模型,在數(shù)據(jù)構(gòu)造器與數(shù)據(jù)處理原語上都有了新的突破。(4)用面向?qū)ο蟮乃季S方式與方法來描述客觀實(shí)體,支持面向?qū)ο蠼?,支持對象存取與持久化,支持代碼級面向?qū)ο髷?shù)據(jù)操作,成為面向?qū)ο髷?shù)據(jù)模型。第1章MySQL初步——數(shù)據(jù)庫設(shè)計(jì)01概念模型1.一對一的聯(lián)系(1∶1)2.一對多的聯(lián)系(1∶n)3.多對多的聯(lián)系(m∶n)概念模型概念模型用于信息世界的建模,最常用的是E-R模型、擴(kuò)充的E-R模型、面向?qū)ο竽P图爸^詞模型。通常,E-R模型把每一類數(shù)據(jù)對象的個(gè)體稱為“實(shí)體”,而每一類對象個(gè)體的集合稱為“實(shí)體集”,例如,在網(wǎng)上商城管理系統(tǒng)中主要涉及“商品”、“供貨商”和“用戶”等多個(gè)實(shí)體集。如果用矩形框表示實(shí)體集,用帶橢圓框表示屬性,用線段連接實(shí)體集與屬性,當(dāng)一個(gè)屬性或?qū)傩越M合指定為主碼時(shí),在實(shí)體集與屬性的連接線上標(biāo)記一斜線,則可以用如圖的形式描述網(wǎng)上商城管理系統(tǒng)中的實(shí)體集及每個(gè)實(shí)體集涉及的屬性。概念模型1.一對一的聯(lián)系(1∶1)A中的一個(gè)實(shí)體至多與B中的一個(gè)實(shí)體相聯(lián)系,B中的一個(gè)實(shí)體也至多與A中的一個(gè)實(shí)體相聯(lián)系。例如,“用戶”與“收件人”這兩個(gè)實(shí)體集之間的聯(lián)系是一對一的聯(lián)系,因?yàn)橐粋€(gè)用戶對應(yīng)一個(gè)收件人,反過來,一個(gè)收件人對應(yīng)一個(gè)用戶,“用戶”與“收件人”兩個(gè)實(shí)體集的E-R模型如圖。2.一對多的聯(lián)系(1∶n)A中的一個(gè)實(shí)體可以與B中的多個(gè)實(shí)體相聯(lián)系,而B中的一個(gè)實(shí)體至多與A中的一個(gè)實(shí)體相聯(lián)系。例如,“供貨商”與“商品”這兩個(gè)實(shí)體集之間的聯(lián)系是一對多的聯(lián)系,因?yàn)橐粋€(gè)供貨商戶可提供若干商品,反過來,一個(gè)特定商品只能屬于一個(gè)供貨商。“供貨商”與“商品”兩個(gè)實(shí)體集的E-R模型如圖。概念模型3.多對多的聯(lián)系(m∶n)A中的一個(gè)實(shí)體可以與B中的多個(gè)實(shí)體相聯(lián)系,而B中的一個(gè)實(shí)體也可與A中的多個(gè)實(shí)體相聯(lián)系。例如,“用戶”與“商品”這兩個(gè)實(shí)體集之間的聯(lián)系是多對多的聯(lián)系,因?yàn)橐粋€(gè)用戶可購買多個(gè)商品,反過來,一個(gè)商品可被多個(gè)用戶購買。“用戶”與“商品”兩個(gè)實(shí)體集的E-R模型如圖。概念模型實(shí)際應(yīng)用中,用戶訂貨產(chǎn)生訂單,在訂單中下單對應(yīng)商品,并確定數(shù)量。如圖。02邏輯模型1.(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換2.(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換3.(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換邏輯模型1.(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(1∶1)的聯(lián)系,既可單獨(dú)對應(yīng)一個(gè)關(guān)系模式,也可以不單獨(dú)對應(yīng)一個(gè)關(guān)系模式。聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式,則由聯(lián)系屬性、參與聯(lián)系的各實(shí)體集的主碼屬性構(gòu)成關(guān)系模式,聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,聯(lián)系的屬性及一方的主碼加入另一方實(shí)體集對應(yīng)的關(guān)系模式中。其主碼可選參與聯(lián)系的實(shí)體集的任一方的主碼。2.(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(1∶n)的聯(lián)系,既可單獨(dú)對應(yīng)一個(gè)關(guān)系模式,也可以不單獨(dú)對應(yīng)一個(gè)關(guān)系模式。聯(lián)系單獨(dú)對應(yīng)一個(gè)關(guān)系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實(shí)體集的主碼屬性構(gòu)成關(guān)系模式,n端的主碼作為該關(guān)系模式的主碼。聯(lián)系不單獨(dú)對應(yīng)一個(gè)關(guān)系模式,則將聯(lián)系的屬性及1端的主碼加入n端實(shí)體集對應(yīng)的關(guān)系模式中,主碼仍為n端的主碼。3.(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(m∶n)的聯(lián)系,單獨(dú)對應(yīng)一個(gè)關(guān)系模式,該關(guān)系模式包括聯(lián)系的屬性、參與聯(lián)系的各實(shí)體集的主碼屬性,該關(guān)系模式的主碼由各實(shí)體集的主碼屬性共同組成。03物理模型物理模型物理模型是面向計(jì)算機(jī)物理表示的模型,描述了數(shù)據(jù)在儲存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實(shí)現(xiàn)時(shí)都有其對應(yīng)的物理數(shù)據(jù)模型。DBMS為了保證其獨(dú)立性與可移植性,大部分物理數(shù)據(jù)模型的實(shí)現(xiàn)工作由系統(tǒng)自動完成,而設(shè)計(jì)者只設(shè)計(jì)索引、聚集等特殊結(jié)構(gòu)。第1章MySQL初步——數(shù)據(jù)庫應(yīng)用系統(tǒng)01數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)1.B/S架構(gòu)的應(yīng)用系統(tǒng)2.C/S架構(gòu)的應(yīng)用系統(tǒng)3.移動客戶端APP數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)1.B/S架構(gòu)的應(yīng)用系統(tǒng)基于Web的數(shù)據(jù)庫應(yīng)用采用三層(瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器)模式,也稱B/S架構(gòu),如圖。2.C/S架構(gòu)的應(yīng)用系統(tǒng)C/S架構(gòu)的應(yīng)用系統(tǒng)要求客戶端上安裝應(yīng)用程序。應(yīng)用程序與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系如圖。3.移動客戶端APP移動客戶端APP應(yīng)用非常流行,但從結(jié)構(gòu)上仍然可認(rèn)為是C/S結(jié)構(gòu)。普通的C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序安裝在PC機(jī)上,而移動客戶端APP安裝在移動端(手機(jī))上。02應(yīng)用系統(tǒng)的數(shù)據(jù)接口1.ODBC數(shù)據(jù)庫接口2.ADO.NET數(shù)據(jù)庫接口3.JDBC數(shù)據(jù)庫接口4.WebService應(yīng)用系統(tǒng)的數(shù)據(jù)接口1.ODBC數(shù)據(jù)庫接口ODBC即開放式數(shù)據(jù)庫互連(OpenDataBaseConnectivity),是微軟公司推出的一種實(shí)現(xiàn)應(yīng)用程序和關(guān)系數(shù)據(jù)庫之間通信的接口標(biāo)準(zhǔn)。符合該標(biāo)準(zhǔn)的數(shù)據(jù)庫就可以通過SQL語句編寫的程序?qū)?shù)據(jù)庫進(jìn)行操作,但只針對關(guān)系數(shù)據(jù)庫。ODBC本質(zhì)上是一組數(shù)據(jù)庫訪問API(應(yīng)用程序編程接口),由一組函數(shù)調(diào)用組成,核心是SQL語句。2.ADO.NET數(shù)據(jù)庫接口ADO.NET提供了面向?qū)ο蟮臄?shù)據(jù)庫視圖,并且在其對象中封裝了許多數(shù)據(jù)庫屬性和關(guān)系。最重要的是,它通過多種方式封裝和隱藏了很多數(shù)據(jù)庫訪問的細(xì)節(jié)。可以完全不知道對象在與ADO.NET對象交互,也不用擔(dān)心數(shù)據(jù)移動到另一個(gè)數(shù)據(jù)庫或者從另一個(gè)數(shù)據(jù)庫獲得數(shù)據(jù)等細(xì)節(jié)問題。如圖顯示了通過ADO.NET訪問數(shù)據(jù)庫的接口模型。應(yīng)用系統(tǒng)的數(shù)據(jù)接口3.JDBC數(shù)據(jù)庫接口通過JDBC對數(shù)據(jù)庫的訪問包括4個(gè)主要組件:Java應(yīng)用程序、JDBC驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。在JDBCAPI中有兩層接口:應(yīng)用程序?qū)雍万?qū)動程序?qū)印G罢呤归_發(fā)人員可以通過SQL調(diào)用數(shù)據(jù)庫和取得結(jié)果,后者處理與具體數(shù)據(jù)庫驅(qū)動程序的所有通信。使用JDBC接口操作數(shù)據(jù)庫有如下優(yōu)點(diǎn):(1)JDBCAPI與ODBC十分相似,有利于用戶理解。使編程人員從復(fù)雜的驅(qū)動器調(diào)用命令和函數(shù)中解脫出來,而致力于應(yīng)用程序功能的實(shí)現(xiàn)。JDBC支持不同的關(guān)系數(shù)據(jù)庫,增強(qiáng)了程序的可移植性。(2)(3)應(yīng)用系統(tǒng)的數(shù)據(jù)接口4.WebServiceWebService能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。它是自描述、自包含的可用網(wǎng)絡(luò)模塊,并可以執(zhí)行具體的業(yè)務(wù)功能。WebService也很容易部署,為整個(gè)企業(yè)甚至多個(gè)組織之間的業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制。第1章MySQL初步——MySQL數(shù)據(jù)庫01MySQL安裝運(yùn)行1.MySQL安裝2.MySQL運(yùn)行MySQL安裝運(yùn)行1.MySQL安裝目前常用的MySQL版本為MySQL5.6、MySQL5.7和MySQL8.0。本書介紹的MySQL基本內(nèi)容均適用于上述版本??赏ㄟ^MySQL官方網(wǎng)站上免費(fèi)下載MySQL的安裝包,在安裝MySQL前,請確保系統(tǒng)中安裝了相應(yīng)版本的Microsoft.NETFramework。初學(xué)者可按照默認(rèn)選項(xiàng)進(jìn)行安裝,系統(tǒng)會根據(jù)設(shè)備配置情況自動安裝。MySQL安裝運(yùn)行2.MySQL運(yùn)行(1)啟動MySQL服務(wù)。安裝配置完成后,打開Windows任務(wù)管理器,可以看到MySQL服務(wù)進(jìn)程mysqld.exe已經(jīng)啟動,如圖。MySQL安裝運(yùn)行(2)登錄MySQL數(shù)據(jù)庫。進(jìn)入Windows命令行,輸入:C:\...>cdMySQL安裝目錄\bin進(jìn)入MySQL可執(zhí)行程序目錄,再輸入:MySQL安裝目錄\bin>mysql-uroot-p按“Enter”鍵后,系統(tǒng)提示下列信息,輸入root用戶密碼““”njnu123456:Enterpassword:njnu123456顯示歡迎信息后出現(xiàn)下列提示符:mysql>表示進(jìn)入MySQL的命令行模式,在命令行提示符“mysql>”后輸入“quit”,可退出MySQL命令行回到操作系統(tǒng)狀態(tài)。MySQL安裝運(yùn)行(3)設(shè)置MySQL中文字符集編碼。查看當(dāng)前連接系統(tǒng)的字符集參數(shù):showvariableslike'char%';將數(shù)據(jù)庫和服務(wù)器的字符集均設(shè)置為gbk(中文):setcharacter_set_database='gbk';setcharacter_set_server='gbk';查看字符集設(shè)置后的結(jié)果:status;(4)為了在操作MySQL時(shí)防止由于不同操作系統(tǒng)默認(rèn)的權(quán)限差異而不能使用某些功能,建議初學(xué)者使用下列命令設(shè)置操作權(quán)限:usemysql;grantallprivilegeson*.*to‘root’@’%’identifiedby‘njnu123456’withgrantoption;flushprivileges;02MySQL常用界面工具1.圖形化客戶端2.基于Web的管理工具M(jìn)ySQL常用界面工具1.圖形化客戶端圖形化客戶端這類工具采用C/S架構(gòu),用戶通過安裝在桌面計(jì)算機(jī)上的客戶端軟件連接并操作后臺的MySQL數(shù)據(jù)庫,原理如圖,客戶端是圖形化用戶界面(GUI)。除了MySQL官方提供的管理工具M(jìn)ySQLAdministrator和MySQLWorkbench,還有很多第三方開發(fā)的優(yōu)秀工具,比較著名的有:Navicat、SequelPro、HeidiSQL、SQLMaestroMySQLToolsFamily、SQLWave、dbForgeStudio、DBToolsManager、MyDBStudio、AquaDataStudio、SQLyog、MYSQLFront和SQLBuddy等。MySQL常用界面工具2.基于Web的管理工具基于Web的管理工具采用B/S架構(gòu),用戶計(jì)算機(jī)上無需再安裝客戶端,管理工具運(yùn)行于Web服務(wù)器上,如圖。用戶設(shè)備只需安裝瀏覽器,即可以訪問Web頁的方式操作MySQL數(shù)據(jù)庫里的數(shù)據(jù)。第2章MySQL數(shù)據(jù)庫和表——MySQL數(shù)據(jù)庫MySQL教程(第2版)01創(chuàng)建數(shù)據(jù)庫1.查看數(shù)據(jù)庫2.創(chuàng)建數(shù)據(jù)庫3.設(shè)置當(dāng)前數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫1.查看數(shù)據(jù)庫查看MySQL系統(tǒng)的已有的數(shù)據(jù)庫,輸入命令:showdatabases;系統(tǒng)會列出已有的數(shù)據(jù)庫。MySQL系統(tǒng)使用的數(shù)據(jù)庫3個(gè):information_schema、mysql和performance_schema,它們都是MySQL安裝時(shí)系統(tǒng)自動創(chuàng)建的,MySQL把有關(guān)DBMS自身的管理信息都保存在這幾個(gè)數(shù)據(jù)庫中,如果刪除了它們,MySQL將不能正常工作。2.創(chuàng)建數(shù)據(jù)庫使用CREATEDATABASE或CREATESCHEMA命令可以創(chuàng)建數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫的語法格式如下:CREATE[IFNOTEXISTS]數(shù)據(jù)庫名[DEFAULT]CHARACTERSET字符集|[DEFAULT]COLLATE校對規(guī)則名創(chuàng)建數(shù)據(jù)庫【例2.1】創(chuàng)建學(xué)生成績數(shù)據(jù)庫,數(shù)據(jù)庫名稱xscj。mysql>createdatabasexscj如果已經(jīng)創(chuàng)建了數(shù)據(jù)庫(例如mytest),重復(fù)創(chuàng)建時(shí)系統(tǒng)會提示數(shù)據(jù)庫已經(jīng)存在,系統(tǒng)顯示錯(cuò)誤信息。使用IFNOTEXISTS選項(xiàng)從句可不顯示錯(cuò)誤信息,如圖。3.設(shè)置當(dāng)前數(shù)據(jù)庫USE命令的語法格式如下:USE數(shù)據(jù)庫名;例如:指定當(dāng)前數(shù)據(jù)庫為學(xué)生成績數(shù)據(jù)庫(xscj)。mysql>usexscj02修改數(shù)據(jù)庫修改數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫后,如果需要修改數(shù)據(jù)庫的參數(shù),可以使用ALTERDATABASE命令,其他格式與CREATEDATABASE相同?!纠?.2】修改學(xué)生成績數(shù)據(jù)庫(xscj)默認(rèn)字符集和校對規(guī)則。語句及結(jié)果如圖。03刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫用戶已經(jīng)創(chuàng)建的數(shù)據(jù)庫需要刪除,可以使用DROPDATABASE命令。語法格式如下:DROPDATABASE[IFEXISTS]數(shù)據(jù)庫名這里,還可以使用IFEXISTS子句,避免刪除不存在的數(shù)據(jù)庫時(shí)出現(xiàn)MySQL錯(cuò)誤信息。第2章MySQL數(shù)據(jù)庫和表——MySQL表01創(chuàng)

表1.全新創(chuàng)建2.復(fù)制已有表創(chuàng)建創(chuàng)

表1.全新創(chuàng)建語法格式如下:CREATETABLE[IFNOTEXISTS]表名([列定義]...|[表索引定義])[表選項(xiàng)][select語句];創(chuàng)

表【例2.3】在學(xué)生成績數(shù)據(jù)庫(xscj)中也創(chuàng)建一個(gè)學(xué)生情況表,表名xs。(1)輸入以下命令:usexscjcreatetablexs(

學(xué)號 char(6) notnullprimarykey,

姓名 char(8) notnull,

專業(yè)名 char(10) null,

性別 tinyint(1) notnulldefault1,

出生日期 date notnull,

總學(xué)分 tinyint(1) null,

照片 blob null,

備注 text null);創(chuàng)

表(2)用showtables命令顯示xscj數(shù)據(jù)庫中產(chǎn)生的學(xué)生(xs)表,用describexs命令可以顯示xs表的結(jié)構(gòu),如圖。創(chuàng)

表2.復(fù)制已有表創(chuàng)建如果創(chuàng)建的表與已有表相似,用戶也可直接復(fù)制數(shù)據(jù)庫中已有表的結(jié)構(gòu)和數(shù)據(jù),然后對表進(jìn)行修改。語法格式如下:CREATETABLE[IFNOTEXISTS]表名[LIKE已有表名]|[AS(復(fù)制表記錄)];【例2.4】在mytest數(shù)據(jù)庫中,用復(fù)制的方式創(chuàng)建一個(gè)名為user_copy1的表,表結(jié)構(gòu)直接取自user表;另再創(chuàng)建一個(gè)名為user_copy2的表,其結(jié)構(gòu)和內(nèi)容(數(shù)據(jù))都取自user表。(1)用user表創(chuàng)建新表。USEmytestcreatetableuser_copy1likeuser;CREATETABLEuser_copy2AS(SELECT*FROMuser);創(chuàng)

表執(zhí)行過程及結(jié)果,如圖。創(chuàng)

表(2)查詢發(fā)現(xiàn)user_copy1表中沒有記錄,而user_copy2表中包含user表中所有記錄,如圖。02修改

表1.修改表結(jié)構(gòu)2.更改表名修

表1.修改表結(jié)構(gòu)語法格式如下:ALTERTABLE表名 ADD列定義[FIRST|AFTER列名] MODIFY列定義 ALTER列名{SETDEFAULT值|DROPDEFAULT} CHANGE列名原列名 DROP列名 RENAME[TO]新表名【例2.5】在xscj數(shù)據(jù)庫的xs表中,增加“獎學(xué)金等級”一列,并將表中的“姓名”列刪除。USExscjALTERTABLExs ADD獎學(xué)金等級tinyintNULL, DROPCOLUMN姓名;修

表2.更改表名除了上面的ALTERTABLE命令,還可以直接用RENAMETABLE語句來更改表的名字。RENAMETABLE的語法格式如下:RENAMETABLE老表名TO新表名...【例2.6】將mytest數(shù)據(jù)庫中的user_copy1表重命名為user1,user_copy2表重命名為user2,再將user2表更名為userb。RENAMETABLEuser_copy1TOuser1,user_copy2TOuser2;ALTERTABLEuser2RENAMETOuserb;03刪除

表1.修改表結(jié)構(gòu)2.更改表名刪

表語法格式如下:DROPTABLE[IFEXISTS]表名...使用這個(gè)命令將表的描述、表的完整性約束、索引及和表相關(guān)的權(quán)限等一并刪除。【例2.7】刪除表uesrb。DROPTABLEIFEXISTSuserb;第2章MySQL數(shù)據(jù)庫和表——表記錄的操作01插入記錄1.插入新記錄2.已有表中插入新記錄3.插入圖片插入記錄1.插入新記錄語法格式如下:INSERT[INTO]表名 [(列名,...)]VALUES({expr|DEFAULT},...) |SET列名={EXPR|DEFAULT},...【例2.8】向?qū)W生成績數(shù)據(jù)庫(xscj)的表xs(表中列包括學(xué)號、姓名、專業(yè)名、性別、出生日期、總學(xué)分、照片、備注)中插入如下一行:221101,王林,計(jì)算機(jī),1,2004-02-10,15,NULL,NULL使用下列語句:USExscjINSERTINTOxs VALUES('221101','王林','計(jì)算機(jī)',1,'2004-02-10',15,NULL,NULL);插入記錄若表xs中專業(yè)列的默認(rèn)值為“計(jì)算機(jī)”,照片、備注列的默認(rèn)值為NULL,插入例中那行數(shù)據(jù)也可以使用如下命令:INSERTINTOxs(學(xué)號,姓名,性別,出生日期,總學(xué)分) VALUES('221101','王林',1,'2004-02-10',15);與下面這個(gè)命令的效果相同:INSERTINTOxs VALUES('221101','王林',default,1,'2004-02-10',15,NULL,NULL);當(dāng)然,也可以使用SET子句來實(shí)現(xiàn):INSERTINTOxs SET學(xué)號='221101',姓名='王林',專業(yè)名=default,性別=1,出生日期='2004-02-10',總學(xué)分=15;執(zhí)行結(jié)果如圖。插入記錄2.已有表中插入新記錄語法格式如下:INSERT[INTO]表名[(列名,...)]SELECT語句【例2.9】將mytest數(shù)據(jù)庫中的user表記錄插入user1表中。USEmytestINSERTINTOuser1SELECT*FROMuser;命令執(zhí)行前后的效果如圖。

插入記錄3.插入圖片MySQL還支持圖片的插入,圖片一般可以以路徑的形式來存儲。當(dāng)然也可以直接插入圖片本身,只要用LOAD_FILE()函數(shù)即可。【例2.10】向xs表中插入如下一行記錄:221102,程明,計(jì)算機(jī),1,2005-02-01,15,picture.jpg,NULL其中,圖片路徑為D:\IMAGE\picture.jpg,可使用如下語句:INSERTINTOxs VALUES('221102','程明','計(jì)算機(jī)',1,'2005-02-01',15,'D:\IMAGE\picture.jpg',NULL);也可使用這個(gè)語句直接存儲圖片本身:INSERTINTOxs VALUES('221102','程明','計(jì)算機(jī)',1,'2005-02-01',15,load_file('D:\IMAGE\picture.jpg'),NULL);執(zhí)行結(jié)果如圖。02修改記錄1.替換舊記錄2.修改單個(gè)表3.修改多個(gè)表修改記錄1.替換舊記錄使用REPLACE語句除了可以插入表中不存在的記錄,同時(shí)可以替換已經(jīng)存在的舊記錄。REPLACE語句格式與INSERT的相同?!纠?.11】若例2.10中的記錄行已經(jīng)被插入,其中學(xué)號為主鍵(PRIMARYKEY),現(xiàn)在想再插入下列一行記錄:221101,劉華,通信工程,1,2004-06-10,13,NULL,NULL若直接使用INSERT語句,會產(chǎn)生圖所示錯(cuò)誤。使用REPLACE語句,則可以成功插入,如圖。修改記錄2.修改單個(gè)表語法格式如下:UPDATE[LOW_PRIORITY][IGNORE]表名 SET列名1=expr1[,列名2=expr2...] [WHERE條件]【例2.12】將學(xué)生成績數(shù)據(jù)庫(xscj)的學(xué)生(xs)表中的所有學(xué)生的總學(xué)分都增加10。將姓名為“劉華”的學(xué)生的備注填寫為“輔修計(jì)算機(jī)專業(yè)”,學(xué)號改為“221201”。UPDATExs SET總學(xué)分=總學(xué)分+10;UPDATExs SET學(xué)號='221201',

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論