《Web數(shù)據(jù)庫技術(shù)第二版》第11章:MySQL數(shù)據(jù)庫.ppt
Web數(shù)據(jù)庫技術(shù)教程,1,第11章MySQL數(shù)據(jù)庫,安裝MySQL,在Win32上安裝MySQL在某個(gè)空目錄解壓縮MySQL軟件包,并運(yùn)行Setup.exe程序。缺省情況下,MySQL-Win32被配置安裝在“C:mysql”下,Web數(shù)據(jù)庫技術(shù)教程,2,11MySQL數(shù)據(jù)庫,安裝MySQL(續(xù)),在Win95/Win98上啟動(dòng)MySQL啟動(dòng)MySQL前在機(jī)器上安裝TCP/IP使Web服務(wù)器指向MySQL安裝目錄,如e:mysql在資源管理器mysqlbin目錄下雙擊mysqld-shareware.exe進(jìn)入MS-DOS在mysqlbin>目錄下鍵入:mysqlhlocalhost,Web數(shù)據(jù)庫技術(shù)教程,3,11MySQL數(shù)據(jù)庫,MySQL的基本操作,連接與斷開服務(wù)器連接服務(wù)器shell>mysql-hhost-uuserpEnterpassword:*如果連接成功,可以看到提示符mysql>和一些介紹信息,Web數(shù)據(jù)庫技術(shù)教程,4,11MySQL數(shù)據(jù)庫,MySQL的基本操作,連接與斷開服務(wù)器(續(xù))斷開服務(wù)器mysql>QUITBye(MySQL返回的提示),Web數(shù)據(jù)庫技術(shù)教程,5,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:mysql>SHOWDATABASES;+-+|Database|+-+|mysql|test|tmp|+-+,Web數(shù)據(jù)庫技術(shù)教程,6,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))創(chuàng)建并選用一個(gè)數(shù)據(jù)庫mysql>CREATEDATABASEtestdb;,Web數(shù)據(jù)庫技術(shù)教程,7,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))打開數(shù)據(jù)庫mysql>USEtestdbDatabasechanged(mysql返回的提示),Web數(shù)據(jù)庫技術(shù)教程,8,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))創(chuàng)建一個(gè)數(shù)據(jù)庫表mysql>CREATETABLEperson(nameVARCHAR(10),addrVARCHAR(40),telVARCHAR(12);,Web數(shù)據(jù)庫技術(shù)教程,9,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))顯示數(shù)據(jù)表mysql>SHOWTABLES;+-+|Tablesintestdb|+-+|person|+-+,Web數(shù)據(jù)庫技術(shù)教程,10,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))驗(yàn)證表的結(jié)構(gòu)mysql>DESCRIBEperson;+-+-+-+-+-+-+|Field|Type|Null|Key|Default|Extra|+-+-+-+-+-+-+|name|varchar(10)|YES|NULL|addr|varchar(40)|YES|NULL|tel|varchar(12)|YES|NULL|+-+-+-+-+-+-+,Web數(shù)據(jù)庫技術(shù)教程,11,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))用LOADDATA語句添加記錄mysql>LOADDATALOCALINFILE"person.txt"INTOTABLEperson;,Web數(shù)據(jù)庫技術(shù)教程,12,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),創(chuàng)建并使用一個(gè)數(shù)據(jù)庫(續(xù))用INSERT語句添加記錄mysql>INSERTINTOpersonVALUES(王得利,北京路18弄18號(hào),55667788);,Web數(shù)據(jù)庫技術(shù)教程,13,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息選擇所有數(shù)據(jù)mysql>SELECT*FROMperson;+-+-+-+|name|addr|tel|+-+-+-+|阮家棟|古美八村45號(hào)301室|87654321|章麗萍|虹橋路28弄36號(hào)|12345678|李立本|南京路1234號(hào)1215室|11223344|王得利|北京路18弄18號(hào)|55667788|+-+-+-+,Web數(shù)據(jù)庫技術(shù)教程,14,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))選擇特定行mysql>SELECT*FROMpersonWHEREname="李立本"+-+-+-+|name|addr|tel|+-+-+-+|李立本|南京路1234號(hào)1215室|44332211|+-+-+-+,Web數(shù)據(jù)庫技術(shù)教程,15,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))選擇特定列mysql>SELECTname,telFROMperson;+-+-+|name|tel|+-+-+|阮家棟|87654321|章麗萍|12345678|李立本|44332211|王得利|55667788|+-+-+,Web數(shù)據(jù)庫技術(shù)教程,16,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))排序行mysql>SELECT*FROMpersonORDERBYname;+-+-+-+|name|addr|tel|+-+-+-+|李立本|南京路1234號(hào)1215室|44332211|阮家棟|古美八村45號(hào)301室|87654321|王得利|北京路18弄18號(hào)|55667788|章麗萍|虹橋路28弄36號(hào)|12345678|+-+-+-+,Web數(shù)據(jù)庫技術(shù)教程,17,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))以逆序排序mysql>SELECT*FROMpersonORDERBYnameDESC;+-+-+-+|name|addr|tel|+-+-+-+|章麗萍|虹橋路28弄36號(hào)|12345678|王得利|北京路18弄18號(hào)|55667788|阮家棟|古美八村45號(hào)301室|87654321|李立本|南京路1234號(hào)1215室|44332211|+-+-+-+,Web數(shù)據(jù)庫技術(shù)教程,18,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))日期計(jì)算mysql>SELECTname,(TO_DAYS(NOW()-TO_DAYS(birth)/365FROMperson;,Web數(shù)據(jù)庫技術(shù)教程,19,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))NULL值操作測試NULL使用ISNULL或ISNOTNULL操作符mysql>SELECT1ISNULL,1ISNOTNULL;+-+-+|1ISNULL|1ISNOTNULL|+-+-+|0|1|+-+-+在MySQL中,0意味著“假”,而1意味著“真”,Web數(shù)據(jù)庫技術(shù)教程,20,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))模式匹配MySQL提供標(biāo)準(zhǔn)的SQL模式匹配,使用LIKE或NOTmysql>SELECT*FROMpersonWHEREnameLIKE"李%",Web數(shù)據(jù)庫技術(shù)教程,21,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))(1)“.”匹配任何單個(gè)字符(2)一個(gè)字符類“.”匹配在方括號(hào)內(nèi)的任何字符。例如,“abc”匹配“a”、“b”或“c”。為了命名字符的一個(gè)范圍,可使用“-”。如“a-z”匹配任何小寫字母,而“0-9”匹配任何數(shù)字(3)“*”匹配零個(gè)或多個(gè)在它前面的東西。例如,“x*”匹配任何數(shù)量的“x”字符,“0-9*”匹配的任何數(shù)量的數(shù)字,而“.*”匹配任何數(shù)量的任何東西正則表達(dá)式是區(qū)分大小寫的,但是如果希望能使用大小字符進(jìn)行匹配??梢允褂?,“aA”或“a-zA-Z”之類的匹配方法,Web數(shù)據(jù)庫技術(shù)教程,22,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))行計(jì)數(shù)mysql>SELECTCOUNT(*)FROMperson;+-+|COUNT(*)|+-+|4|+-+,Web數(shù)據(jù)庫技術(shù)教程,23,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),從一個(gè)數(shù)據(jù)表檢索信息(續(xù))行計(jì)數(shù)(續(xù))mysql>SELECTsex,COUNT(*)FROMpersonGROUPBYsex;+-+-+|sex|COUNT(*)|+-+-+|男|3|女|1|+-+-+,Web數(shù)據(jù)庫技術(shù)教程,24,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),使用多個(gè)數(shù)據(jù)表mysql>SELECTperson1.name,person2.dept->FROMperson1,person2->WHEREperson1.name=person2.name;+-+-+|name|dept|+-+-+|阮家棟|計(jì)算機(jī)|章麗萍|自動(dòng)化|李立本|計(jì)算機(jī)|王得利|自動(dòng)化|+-+-+,Web數(shù)據(jù)庫技術(shù)教程,25,11MySQL數(shù)據(jù)庫,MySQL的基本操作(續(xù)),以批處理模式使用mysqlshell>mysql<batch-file,