Web程序設(shè)計(jì) 課件 【ch07】MySQL數(shù)據(jù)庫(kù)_第1頁(yè)
Web程序設(shè)計(jì) 課件 【ch07】MySQL數(shù)據(jù)庫(kù)_第2頁(yè)
Web程序設(shè)計(jì) 課件 【ch07】MySQL數(shù)據(jù)庫(kù)_第3頁(yè)
Web程序設(shè)計(jì) 課件 【ch07】MySQL數(shù)據(jù)庫(kù)_第4頁(yè)
Web程序設(shè)計(jì) 課件 【ch07】MySQL數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第七章Web程序設(shè)計(jì)MySQL數(shù)據(jù)庫(kù)新工科建設(shè)之路·計(jì)算機(jī)類專業(yè)系列教材01MySQL概述01MySQL概述①M(fèi)ySQL是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),把數(shù)據(jù)存儲(chǔ)在表格中,使用標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語(yǔ)言SQL訪問數(shù)據(jù)庫(kù)。②MySQL是完全免費(fèi)的,在網(wǎng)上可以隨意下載,并且可以查看到它的源文件,進(jìn)行必要的修改。③MySQL服務(wù)器的功能齊全,運(yùn)行的速度很快,十分可靠,有很好的安全性。④MySQL服務(wù)器在客戶/服務(wù)器模式或嵌入系統(tǒng)中使用,是客戶/服務(wù)器結(jié)構(gòu)的系統(tǒng),能夠支持多線程,支持多個(gè)不同的客戶程序和管理工具。1.MySQL的特點(diǎn)SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)與其說是一門語(yǔ)言,不如說是一種標(biāo)準(zhǔn):數(shù)據(jù)庫(kù)系統(tǒng)的工業(yè)標(biāo)準(zhǔn)。大多數(shù)RDBMS開發(fā)商的SQL都基于這個(gè)標(biāo)準(zhǔn),雖然在有些地方并不是完全相同的,但這并不妨礙他們對(duì)SQL的學(xué)習(xí)和使用。2.SQL和MySQL02操作MySQL數(shù)據(jù)庫(kù)02操作MySQL數(shù)據(jù)庫(kù)1創(chuàng)建數(shù)據(jù)庫(kù)在MySQL中,應(yīng)用CREATEDATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù),其語(yǔ)法格式如下:其中,db_name是要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名稱,該名稱必須是合法的。數(shù)據(jù)庫(kù)的命名有如下規(guī)則。①不能與其他數(shù)據(jù)庫(kù)重名。②名稱可以由任意字母、數(shù)字、“”或“$”組成,可以使用上述任意字符開頭,但不能使用單獨(dú)的數(shù)字,否則會(huì)造成與數(shù)值混淆。③名稱最長(zhǎng)可由64個(gè)字符組成(還包括表、列和索引的命名),而數(shù)據(jù)庫(kù)的別名最多長(zhǎng)達(dá)256個(gè)字符。④不能使用MySQL關(guān)鍵字作為數(shù)據(jù)庫(kù)、表名。02操作MySQL數(shù)據(jù)庫(kù)選擇數(shù)據(jù)庫(kù)USE語(yǔ)句用于選擇一個(gè)數(shù)據(jù)庫(kù),使其成為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù),其語(yǔ)法格式如下:23刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)使用的是DROPDATABASE語(yǔ)句,其語(yǔ)法格式如下:注意:刪除數(shù)據(jù)庫(kù)的操作,應(yīng)該謹(jǐn)慎使用,一旦執(zhí)行這項(xiàng)操作,數(shù)據(jù)庫(kù)的所有結(jié)構(gòu)和數(shù)據(jù)都會(huì)被刪除,沒有恢復(fù)的可能,除非數(shù)據(jù)庫(kù)有備份。03操作MySQL數(shù)據(jù)表03操作MySQL數(shù)據(jù)表01創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表使用CREATETABLE語(yǔ)句,其語(yǔ)法格式如下:注意:在輸入SQL語(yǔ)句時(shí),可以一行全部輸出,也可以每個(gè)字段都換行輸出,這里建議換行輸出,這樣看上去美觀、易懂,在語(yǔ)句出現(xiàn)錯(cuò)誤時(shí)更容易查找。03操作MySQL數(shù)據(jù)表02查看數(shù)據(jù)表SHOWCOLUMNS語(yǔ)句SHOWCOLUMNS語(yǔ)句查看一個(gè)指定的數(shù)據(jù)表,其語(yǔ)法結(jié)構(gòu)如下:12DESCRIBE語(yǔ)句DESCRIBE語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下:,除非數(shù)據(jù)庫(kù)有備份。其中,DESCRIBE可以簡(jiǎn)寫成DESC。在查看表的結(jié)構(gòu)時(shí),也可以只列出某一列的信息,其語(yǔ)法結(jié)構(gòu)如下:03操作MySQL數(shù)據(jù)表03修改數(shù)據(jù)表修改數(shù)據(jù)表的結(jié)構(gòu)使用ALTERTABLE語(yǔ)句。修改數(shù)據(jù)表的結(jié)構(gòu)包括增加或刪除字段、修改字段名稱或字段類型、設(shè)置取消主鍵外鍵、設(shè)置取消索引及修改表的注釋等,其語(yǔ)法結(jié)構(gòu)如下:在使用ALTERTABLE語(yǔ)句修改數(shù)據(jù)表時(shí),若指定IGNORE參數(shù),當(dāng)出現(xiàn)重復(fù)的行時(shí),則只執(zhí)行一行,其他重復(fù)的行被刪除。注意03操作MySQL數(shù)據(jù)表04重命名數(shù)據(jù)表重命名數(shù)據(jù)表使用RENAMETABLE語(yǔ)句,其語(yǔ)法結(jié)構(gòu)如下:

RENAMETABLE語(yǔ)句可以同時(shí)對(duì)多個(gè)數(shù)據(jù)表進(jìn)行重命名,多個(gè)表之間以“,”分隔。注意03操作MySQL數(shù)據(jù)表05刪除數(shù)據(jù)表刪除數(shù)據(jù)表使用DROPTABLE語(yǔ)句,其語(yǔ)法結(jié)構(gòu)如下:刪除數(shù)據(jù)表的操作應(yīng)該謹(jǐn)慎使用。一-旦刪除數(shù)據(jù)表,那么表中的數(shù)據(jù)將全部清除,沒有備份則無(wú)法恢復(fù)。注意04操作MySQL數(shù)據(jù)04操作MySQL數(shù)據(jù)01向數(shù)據(jù)表中添加數(shù)據(jù)建立一個(gè)數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)數(shù)據(jù)表,應(yīng)先向數(shù)據(jù)表中添加數(shù)據(jù)。這項(xiàng)操作可以通過INSERT語(yǔ)句來完成。下面通過向bookinfo數(shù)據(jù)庫(kù)的tb__book表中添加一條記錄介紹INSERT語(yǔ)句的3種語(yǔ)法。①列出新添加數(shù)據(jù)的所有值,其語(yǔ)法結(jié)構(gòu)如下:②給出要賦值的列,再給出值,其語(yǔ)法結(jié)構(gòu)如下:③以col_name=value的形式給出列和值,其語(yǔ)法結(jié)構(gòu)如下:采用第①種語(yǔ)法格式的優(yōu)點(diǎn)是輸入的SQL語(yǔ)句短小,查找錯(cuò)誤方便,缺點(diǎn)是,如果字段很多,就不容易看到數(shù)據(jù)是屬于哪一列的,不易匹配。注意04操作MySQL數(shù)據(jù)02更新數(shù)據(jù)表中的數(shù)據(jù)更新數(shù)據(jù)使用UPDATE語(yǔ)句,其語(yǔ)法結(jié)構(gòu)如下:其中,table_name是更新的表名稱;SET子句指出要修改的列和它們給定的值;WHERE子句是可選的,若應(yīng)用,則指定記錄中哪行應(yīng)該被更新,否則所有記錄行都將被更新。注意:更新時(shí)一定保證WHERE子句的正確性,一旦WHERE子句出錯(cuò),會(huì)破壞所有改變的數(shù)據(jù)。04操作MySQL數(shù)據(jù)03刪除數(shù)據(jù)表中的數(shù)據(jù)刪除數(shù)據(jù)使用DELETE語(yǔ)句,其語(yǔ)法結(jié)構(gòu)如下:該語(yǔ)句在執(zhí)行過程中,刪除table_name表中的記錄,若沒有指定WHERE條件,則刪除所有記錄;若指定WHERE條件,則按照指定的條件進(jìn)行刪除。①在實(shí)際的應(yīng)用中,在執(zhí)行刪除操作時(shí),執(zhí)行刪除的條件一般應(yīng)該為數(shù)據(jù)的id,而不是某個(gè)具體字段值,這樣可以避免出現(xiàn)一些不必要的錯(cuò)誤。②使用DELETE語(yǔ)句刪除整個(gè)表的效率并不高,還可以使用TRUNCATE語(yǔ)句,以很快地刪除表中的所有內(nèi)容。注意04操作MySQL數(shù)據(jù)04查詢數(shù)據(jù)表中的數(shù)據(jù)創(chuàng)建數(shù)據(jù)庫(kù)的目的不僅是存儲(chǔ)數(shù)據(jù),更重要的是使用其中的數(shù)據(jù)。要從數(shù)據(jù)表中查詢數(shù)據(jù),使用的是SELECT查詢語(yǔ)句。SELECT語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下:04操作MySQL數(shù)據(jù)04查詢數(shù)據(jù)表中的數(shù)據(jù)1selection_list設(shè)置查詢內(nèi)容。如果要查詢表中的所有列,可以將其設(shè)置為“*”;

若查詢表中的某一列或多列,則直接輸入列名,并以“,”作為分隔符。table_list指定查詢的數(shù)據(jù)表,既可以從一個(gè)數(shù)據(jù)表中查詢,又可以從多個(gè)數(shù)據(jù)表中查詢,多個(gè)數(shù)據(jù)表之間用“,”進(jìn)行分隔,并且通過WHERE子句使用連接運(yùn)算確定表之間的聯(lián)系。204操作MySQL數(shù)據(jù)04查詢數(shù)據(jù)表中的數(shù)據(jù)3WHERE條件語(yǔ)句只有設(shè)定了查詢的條件,查詢才有實(shí)際的意義。設(shè)定查詢條件應(yīng)用的是WHERE子句。WHERE子句的功能非常強(qiáng)大,可以實(shí)現(xiàn)很多復(fù)雜的條件查詢。在使用WHERE子句時(shí)需要使用一些比較運(yùn)算符。GROUPBY對(duì)結(jié)果分組GROUPBY子句可以將數(shù)據(jù)劃分到不同的組中,實(shí)現(xiàn)對(duì)記錄進(jìn)行分組查詢。在查詢時(shí),所查詢的列必須包含在分組的列中,目的是使查詢到的數(shù)據(jù)沒有矛盾。在與AVG()函數(shù)或SUM()函數(shù)-起使用時(shí),GROUPBY子句能發(fā)揮最大作用。45DISTINCT在結(jié)果中去除重復(fù)行使用DISTINCT關(guān)鍵字可以去除結(jié)果中重復(fù)的行。04操作MySQL數(shù)據(jù)04查詢數(shù)據(jù)表中的數(shù)據(jù)ORDERBY對(duì)結(jié)果排序ORDERBY子句可以對(duì)查詢的結(jié)果進(jìn)行升序和降序排列,在默認(rèn)情況下,按升序輸出結(jié)果。如果按降序排列,可以使用DESC實(shí)現(xiàn)。在對(duì)包含NULL值的列進(jìn)行排序時(shí),如果是按升序排列的,NULL值將出現(xiàn)在最前,如果是按降序排列的,NULL值將出現(xiàn)在最后。67LIKE模糊查詢LIKE屬于較常用的比較運(yùn)算符,通過它可以實(shí)現(xiàn)模糊查詢。它有兩種通配符:“%”和下畫線“”?!?”可以匹配一個(gè)或多個(gè)字符,而“”只匹配一個(gè)字符。04操作MySQL數(shù)據(jù)04查詢數(shù)據(jù)表中的數(shù)據(jù)concat聯(lián)合多列concat函數(shù)可以聯(lián)合多個(gè)字段,構(gòu)成一個(gè)總的字符串。89LIMIT限定結(jié)果行數(shù)LIMIT子句可以對(duì)查詢結(jié)果的記錄條數(shù)進(jìn)行限定,控制輸出的行數(shù)。使用函數(shù)和表達(dá)式在MySQL中,可以使用表達(dá)式計(jì)算各列的值作為輸出結(jié)果。表達(dá)式還可以包含一些函數(shù)。1005

MySQL數(shù)據(jù)類型05MySQL數(shù)據(jù)類型01數(shù)字類型MySQL支持所有ANSISOSQL92數(shù)字類型,包括準(zhǔn)確數(shù)字的數(shù)據(jù)類型(NUMERIC、DECIMAL、INTEGER和SMALLINT)和近似數(shù)字的數(shù)據(jù)類型(FLOAT.REAL和DOUBLEPRECISION)。其中,關(guān)鍵字INT是INTEGER的同義詞,關(guān)鍵字DEC是DECIMAL的同義詞。數(shù)字類型總體可以分成整型和浮點(diǎn)型。在創(chuàng)建表時(shí),使用數(shù)字類型應(yīng)遵循以下原則。①選擇最小的可用類型,若該字段的值永遠(yuǎn)不超過127,則可以使用TINYINT。②對(duì)于完全都是數(shù)字的,可以選擇整數(shù)類型。③浮點(diǎn)類型用于可能具有小數(shù)部分的數(shù)據(jù),如貨物單價(jià)、網(wǎng)上購(gòu)物交付金額等。注意05MySQL數(shù)據(jù)類型02字符串類型字符串類型可以分為3類:普通的文本字符串類型、可變類型和特殊類型。它們的取值范圍不同,應(yīng)用的地方也不同。①普通的文本字符串類型,即CHAR和VARCHAR類型,CHAR列的長(zhǎng)度被固定為創(chuàng)建表所聲明的長(zhǎng)度,取值范圍為1~255;VARCHAR列的值是可變長(zhǎng)度的字符串,取值范圍與CHAR一樣。②可變類型,即TEXT和BLOB。它們的大小可以改變,TEXT類型適合存儲(chǔ)長(zhǎng)文本,BLOB類型適合存儲(chǔ)二進(jìn)制數(shù)據(jù),支持任何類型的數(shù)據(jù),如文本、音頻和圖像等。③特殊類型,即SET和ENUM。05MySQL數(shù)據(jù)類型02字符串類型注意在創(chuàng)建表時(shí),使用字符串類型時(shí)應(yīng)遵循以下原則。①?gòu)乃俣确矫婵紤],要選擇固定的列,可以使用CHAR類型。②從節(jié)省空間方面考慮,要選擇動(dòng)態(tài)的列,可以使用VARCHAR類型。③要將列中的內(nèi)容限制在一.種選擇,可以使用ENUM類型。④允許在一個(gè)列中有多于一個(gè)的條目,可以使用SET類型。⑤要搜索的內(nèi)容不區(qū)分大小寫,可以使用TEXT類型。⑥要搜索的內(nèi)容區(qū)分大小寫,可以使用BLOB類型。06

phpMyAdmin圖形化管理工具06phpMyAdmin圖形化管理工具01管理數(shù)據(jù)庫(kù)打開phpMyAdmin管理主界面,在文本框中輸入數(shù)據(jù)庫(kù)的名稱“db_study”,然后在其下拉列表框中選擇要使用的編碼,一般選擇“gb2312_chinese_ci”簡(jiǎn)體中文編碼格式,單擊“創(chuàng)建”按鈕,創(chuàng)建數(shù)據(jù)庫(kù)。1.創(chuàng)建數(shù)據(jù)庫(kù)在右側(cè)界面中可以對(duì)該數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作,如結(jié)構(gòu)、SQL、導(dǎo)出、搜索、查詢、刪除等,單擊相應(yīng)的超鏈接,進(jìn)入相應(yīng)的操作界面。在創(chuàng)建數(shù)據(jù)庫(kù)后還沒有創(chuàng)建數(shù)據(jù)表的情況下,只能夠執(zhí)行結(jié)構(gòu)、SQL、導(dǎo)入、操作、權(quán)限和刪除這6項(xiàng)操作,其他操作不能執(zhí)行,當(dāng)指向其超鏈接時(shí),會(huì)彈出不可用標(biāo)記。注意06phpMyAdmin圖形化管理工具01管理數(shù)據(jù)庫(kù)可以對(duì)當(dāng)前數(shù)據(jù)庫(kù)進(jìn)行修改,單擊界面中數(shù)據(jù)庫(kù)的超鏈接,進(jìn)入修改操作頁(yè)面。3.刪除數(shù)據(jù)庫(kù)要?jiǎng)h除某數(shù)據(jù)表,首先在左側(cè)的下拉菜單中選擇該數(shù)據(jù)庫(kù),在指定的數(shù)據(jù)庫(kù)中選擇要?jiǎng)h除的數(shù)據(jù)表,然后單擊右側(cè)頁(yè)面中的“刪除”按鈕,即可成功刪除指定的數(shù)據(jù)表。2.修改數(shù)據(jù)庫(kù)06phpMyAdmin圖形化管理工具02管理數(shù)據(jù)表1創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)庫(kù)db_study后,在右側(cè)的操作頁(yè)面中輸入數(shù)據(jù)表的名字和字段數(shù),然后單擊“執(zhí)行”按鈕,即可創(chuàng)建數(shù)據(jù)表,如圖7-4所示。06phpMyAdmin圖形化管理工具02管理數(shù)據(jù)表2修改數(shù)據(jù)表創(chuàng)建新的數(shù)據(jù)表后,進(jìn)入數(shù)據(jù)表頁(yè)面,可以通過改變表的結(jié)構(gòu)修改表,可以執(zhí)行添加新的列、刪除列、索引列、修改列的數(shù)據(jù)類型或字段的長(zhǎng)度/值等操作。刪除數(shù)據(jù)表要?jiǎng)h除某數(shù)據(jù)表,首先在左側(cè)的下拉菜單中選擇該數(shù)據(jù)庫(kù),在指定的數(shù)據(jù)庫(kù)中選擇要?jiǎng)h除的數(shù)據(jù)表,然后單擊右側(cè)頁(yè)面中的“刪除”按鈕,即可成功刪除指定的數(shù)據(jù)表。306phpMyAdmin圖形化管理工具03管理數(shù)據(jù)記錄1使用SQL語(yǔ)句插入數(shù)據(jù)在SQL語(yǔ)句編輯區(qū)應(yīng)用INSERT語(yǔ)句向數(shù)據(jù)表tb_admin中插入數(shù)據(jù)后,單擊“執(zhí)行”按鈕,向數(shù)據(jù)表中插入一條數(shù)據(jù),如圖所示。06phpMyAdmin圖形化管理工具03管理數(shù)據(jù)記錄2使用SQL語(yǔ)句修改數(shù)據(jù)在SQL語(yǔ)句編輯區(qū)應(yīng)用UPDATE語(yǔ)句修改數(shù)據(jù)信息,將id為1的管理員的名稱改為“administrator”,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論