《網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)》第4章 MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用_第1頁
《網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)》第4章 MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用_第2頁
《網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)》第4章 MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用_第3頁
《網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)》第4章 MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用_第4頁
《網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)》第4章 MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

網(wǎng)站數(shù)據(jù)庫應(yīng)用基礎(chǔ)第4章MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用本章重點(diǎn):MySQL數(shù)據(jù)庫系統(tǒng)安裝認(rèn)識(shí)MySQL-Front創(chuàng)建“綠蕾教育網(wǎng)數(shù)據(jù)庫”設(shè)計(jì)數(shù)據(jù)庫中所包含的表了解MySQL數(shù)據(jù)類型添加、修改、刪除表中記錄MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.1案例綜述為了便于學(xué)習(xí)和使用MySQL,本書使用phpStudy軟件集成安裝包,它集成了最新的PHP+MySQL常用軟件,一次性安裝,無須配置即可使用,全面適合Win2000/XP/2003/win7/win8/win2008操作系統(tǒng)。本案例完成phpStudy的安裝任務(wù)。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(1)準(zhǔn)備好“phpStudy2014.exe”軟件,該軟件可在網(wǎng)站中免費(fèi)下載。(2)雙擊“phpStudy2014.exe”運(yùn)行該軟件,屏幕彈出“安裝”對(duì)話框,如圖4-1所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟圖4-1“安裝向?qū)А睂?duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(3)單擊“下一步”按鈕,屏幕彈出“選擇目標(biāo)位置”對(duì)話框,如圖4-2所示。圖4-2“選擇目標(biāo)位置”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(4)在文本框中輸入“c:\internet.soft”,單擊“下一步”按鈕,屏幕彈出“選擇PHP程序存放目錄”對(duì)話框,如圖4-3所示。圖4-3“選擇PHP程序存放目錄”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(5)在文本框中輸入“c:\internet.web”,單擊“下一步”按鈕,屏幕彈出“選擇組件”對(duì)話框,如圖4-4所示。圖4-4“選擇組件”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(6)選中“Nginx&PHP”,其它為程序默認(rèn)值,單擊“下一步”按鈕,屏幕彈出“選擇開始菜單文件夾”對(duì)話框,如圖4-5所示。圖4-5“選擇開始菜單文件夾”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(7)文本框?yàn)槌绦蚰J(rèn)值,單擊“下一步”按鈕,屏幕彈出“準(zhǔn)備安裝”對(duì)話框,如圖4-6所示。圖4-6“準(zhǔn)備安裝”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(8)單擊“安裝”按鈕,系統(tǒng)開始安裝程序,安裝完畢,屏幕彈出“安裝向?qū)瓿伞睂?duì)話框,如圖4-7所示。圖4-7“安裝向?qū)瓿伞睂?duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(9)單擊“完成”按鈕,如果Windows自帶防火墻軟件處于開啟狀態(tài),則屏幕將彈出兩個(gè)“Windwos安全警報(bào)”對(duì)話框,如圖4-8所示,此時(shí)必須單擊“解除阻止”按鈕,同樣,如果計(jì)算機(jī)中還安裝了其它的防火墻軟件,則也應(yīng)該設(shè)置“nginx”和“mssqld”為允許訪問。圖4-8“Windwos安全警報(bào)”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟(10)安裝完畢,屏幕將出現(xiàn)“phpStudy2014”程序窗口,如圖如圖4-9所示,同時(shí)瀏覽器將顯示phpinfo()頁面,如圖如圖4-10所示,如果看不到phpinfo()頁面,請(qǐng)檢查防火墻是否設(shè)置正確。圖4-9“phpStudy2014”程序窗口MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟圖4-10phpinfo()頁面MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.1Windows環(huán)境下的MySQL安裝4.1.2

操作步驟“phpStudy2014”程序默認(rèn)運(yùn)行模式為“非服務(wù)”模式,為了方便使用,建議將運(yùn)行模式修改為“系統(tǒng)服務(wù)”模式,具體操作如為:打開“phpStudy2014”程序,選中運(yùn)行模式中的“系統(tǒng)服務(wù)”單選按鈕,單擊“應(yīng)用”按鈕。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述MySQL-Front是一款小巧的管理Mysql的應(yīng)用程序,主要特性包括多文檔界面,語法突出,拖拽方式的數(shù)據(jù)庫和表格。軟件官網(wǎng)是http://www.mysqlfront.de/。本任務(wù)介紹MySQL-Front的啟動(dòng)、界面組成和退出等。1.啟動(dòng)MySQL-Front(1)單擊“phpStudy2014”程序窗口中的“MySQL管理器”按鈕,如圖4-11所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述圖4-11“phpStudy2014”程序窗口MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述(2)單擊隨后出現(xiàn)的快捷菜單中的“MySQL-Front”菜單項(xiàng),屏幕彈出“打開登錄信息”對(duì)話框,如圖4-12所示。圖4-12“打開登錄信息”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述(3)單擊“取消”按鈕,屏幕彈出“MySQL-Front程序”窗口,如圖4-13所示,MySQL-Front程序啟動(dòng)完畢。圖4-13“MySQL-Front”程序窗口MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述2.新建MySQL登錄信息使用“MySQL-Front”操作MySQL前,需要建立MySQL登錄信息,“phpStudy2014”默認(rèn)安裝在“MySQL-Front”已經(jīng)注冊(cè)了本地MySQL數(shù)據(jù)庫,如果操作本地MySQL,只要單擊“打開”按鈕即可。新建MySQL登錄信息的操作步驟如下:(1)

單擊“文件”菜單中的“打開登錄信息”菜單項(xiàng),屏幕彈出“打開登錄信息”對(duì)話框。(2)

單擊“新建”按鈕,屏幕彈出“添加信息”對(duì)話框,如圖4-14所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述圖4-14“添加信息”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述(3)在“名稱”文本框中輸入服務(wù)器信息的名稱,中英文均可,便于區(qū)別其他登錄信息即可;在“Host”文本框中輸入MySQL數(shù)據(jù)庫所在計(jì)算機(jī)的IP地址;MySQL數(shù)據(jù)庫的“端口”默認(rèn)為“3306”;在“用戶”文本框中輸入MySQL的用戶名(例如:root,MySQL操作管理員);在“密碼”文本框中輸入對(duì)應(yīng)的密碼(phpStudy2014默認(rèn)安裝時(shí)設(shè)置的MySQL密碼為:123456)。(4)設(shè)置完畢單擊“確定”按鈕,新建MySQL登錄信息完畢,屏幕返回到“打開登錄信息”對(duì)話框。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述3.登錄MySQL數(shù)據(jù)庫在MySQL-Front的“打開登錄信息”對(duì)話框中選中欲操作的MySQL名稱,單擊“打開”按鈕即可登錄該MySQL數(shù)據(jù)庫,前提是該數(shù)據(jù)庫系統(tǒng)處于運(yùn)行中,并且網(wǎng)絡(luò)良好,為了便于學(xué)習(xí)和操作,本書默認(rèn)使用“l(fā)ocalhost”(即本機(jī)的MySQL),具體操作如下:(1)啟動(dòng)MySQL-Front程序。(2)選中“l(fā)ocalhost”,單擊“打開”按鈕,屏幕彈出登錄了MySQL數(shù)據(jù)庫后的MySQL-Front窗口,如圖4-15所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述圖4-15“登錄了MySQL數(shù)據(jù)庫后的MySQL-Front窗口MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述4.MySQL-Front操作界面MySQL-Front操作界面主要由標(biāo)題欄、菜單欄、工具欄、導(dǎo)航窗格、信息顯示窗格、狀態(tài)欄等組成,如圖4-15所示。其中,導(dǎo)航窗格用于顯示數(shù)據(jù)庫對(duì)象,包括數(shù)據(jù)庫服務(wù)器、表、視圖、字段、存儲(chǔ)過程、函數(shù)、事件、進(jìn)程、狀態(tài)、用戶和變量等明細(xì)列表。信息顯示窗格用于顯示導(dǎo)航窗口中指定對(duì)象的詳細(xì)信息。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述5.新建數(shù)據(jù)庫常用的MySQL新建數(shù)據(jù)庫的方法有三種:1)使用向?qū)陆〝?shù)據(jù)庫,可以方便地為數(shù)據(jù)庫創(chuàng)建表、視圖等對(duì)象;2)使用“SQL編輯器”執(zhí)行SQL語句來創(chuàng)建一個(gè)數(shù)據(jù)庫;3)通過導(dǎo)入其它數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫的方法新建MySQL數(shù)據(jù)庫。以下為使用“向?qū)А狈椒ㄐ陆ňG蕾教育網(wǎng)數(shù)據(jù)庫的操作步驟:(1)

在導(dǎo)航窗格中選中“l(fā)ocalhost”數(shù)據(jù)庫服務(wù)器;(2)

單擊“數(shù)據(jù)庫”菜單中的“新建”菜單項(xiàng)的“數(shù)據(jù)庫”選項(xiàng),屏幕彈出“新建數(shù)據(jù)庫”對(duì)話框,如圖4-16所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述圖4-16“新建數(shù)據(jù)庫”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述(3)在名稱文本框輸入數(shù)據(jù)庫名稱“myedu123”;單擊“字符集”下拉列表按鈕,選擇“gbk”;單擊“字符集校對(duì)”下拉列表按鈕,選擇“gbk_chinese_ci”。(4)設(shè)置完畢,單擊“確定”按鈕,“myedu123”數(shù)據(jù)庫新建完畢,導(dǎo)航窗格將出現(xiàn)“myedu123”數(shù)據(jù)庫選項(xiàng),如圖4-17所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述圖4-17導(dǎo)航窗格含“myedu123”選項(xiàng)的MySQL-Front窗口MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.2認(rèn)識(shí)MySQL-Front4.2.1案例綜述5.退出MySQL-Front單擊“文件”菜單中的“退出”菜單項(xiàng),即可退出MySQL-Front系統(tǒng)。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.1案例綜述MySQL-Front提供了多種創(chuàng)建表的方式:設(shè)計(jì)視圖方式、SQL語句方式和導(dǎo)入現(xiàn)有文件方式,本任務(wù)采用“設(shè)計(jì)視圖”方式來創(chuàng)建“AD”表(即廣告表)。廣告表的字段及字段說明見表2-1。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟(1)啟動(dòng)MySQL-Front并登錄到數(shù)據(jù)庫服務(wù)器,導(dǎo)航窗格中選中“myedu123”數(shù)據(jù)庫。(2)單擊“數(shù)據(jù)庫”菜單的“新建”菜單項(xiàng)中的“表格”選項(xiàng),屏幕彈出“添加表格”對(duì)話框,如圖4-18所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟圖4-18“添加表格”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟(3)輸入表名:選擇“信息”選項(xiàng)卡,在“名稱”文本框中輸入表名稱:AD。(4)輸入字段:選擇“字段”選項(xiàng)卡,“添加表格”對(duì)話框顯示為如圖4-19所示的情形。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟圖4-19“添加表格”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟(5)在MySQL-Front中,新建表格時(shí),默認(rèn)自動(dòng)建了一個(gè)名為“Id”、數(shù)據(jù)類為自動(dòng)增量的Int型的字段,并且被設(shè)置為主索引。雙擊該字段屏幕彈出“Id的配置”對(duì)話框(即字段編輯對(duì)話框),如圖4-20所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟圖4-20“Id的配置”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟(6)將“Id”字段修改為“LocationID”字段,刪除“名稱”文本框中的“Id”并輸入“LocationID”,在“備注”文本框中輸入字段說明文字“廣告位編號(hào)”,單擊“確定”按鈕。(7)添加“Spec”字段,單擊“添加表格”對(duì)話框中的“添加字段”按鈕,屏幕彈出“添加字段”對(duì)話框,如圖4-21所示。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟圖4-21“添加字段”對(duì)話框MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.2

操作步驟(8)“位置”選擇“在字段后”LocationID””,“名稱”輸入“Spec”,“類型”選擇“VarChar”,“長度”選擇“50”,“字符集”和“字符集校對(duì)”默認(rèn)為“gbk”和“gbk_chinese_ci”,“備注”輸入“規(guī)格(寬×高)”,不選“屬性”的“允許空”中的對(duì)勾“√”。(9)輸入完畢,單擊“確定”按鈕,“Spec”字段新建完畢。(10)重復(fù)(7)-(9),依次新建Title、CopyFrom、Brief、Content、UpdateTime、Passed、Editor和Assessor字段。(11)所有字段新建完畢后,單擊“添加表格”對(duì)話框中的“確定”按鈕,返回到MySQL-Front窗口,利用“設(shè)計(jì)視圖”新建“廣告表”任務(wù)完成。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型MySQL中的字段數(shù)據(jù)類型可分為三種類型:數(shù)值型、字符型和日期/時(shí)間型,每種類型還可細(xì)分多種類型。1.?dāng)?shù)值型(1)

數(shù)值型見表5-1MySQL數(shù)值型數(shù)據(jù)類型。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型數(shù)據(jù)類型描述Access數(shù)據(jù)類型Bit是/否TINYINT(size)-128到

127常規(guī)。0到

255無符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。ByteSMALLINT(size)-32768到

32767常規(guī)。0到

65535無符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。IntegerMEDIUMINT(size)-8388608到

8388607普通。0to16777215無符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。LongINT(size)-2147483648到

2147483647常規(guī)。0到

4294967295無符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。IntegerBIGINT(size)-9223372036854775808到

9223372036854775807常規(guī)。0到

18446744073709551615無符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。LongFLOAT(size,d)帶有浮動(dòng)小數(shù)點(diǎn)的小數(shù)字。在括號(hào)中規(guī)定最大位數(shù)。在

d參數(shù)中規(guī)定小數(shù)點(diǎn)右側(cè)的最大位數(shù)。SingleDOUBLE(size,d)帶有浮動(dòng)小數(shù)點(diǎn)的大數(shù)字。在括號(hào)中規(guī)定最大位數(shù)。在

d參數(shù)中規(guī)定小數(shù)點(diǎn)右側(cè)的最大位數(shù)。DoubleDECIMAL(size,d)作為字符串存儲(chǔ)的

DOUBLE類型,允許固定的小數(shù)點(diǎn)。DoubleMySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(2)數(shù)值型數(shù)據(jù)類型的選擇標(biāo)準(zhǔn)為了節(jié)省存儲(chǔ)空間和提高數(shù)據(jù)庫處理效率,在數(shù)據(jù)表設(shè)計(jì)時(shí)應(yīng)該根據(jù)應(yīng)用數(shù)據(jù)的取值范圍來選擇一個(gè)最適合的數(shù)據(jù)列類型。如果把一個(gè)超出數(shù)據(jù)取值范圍的數(shù)存入該字段,則MySQL就會(huì)截短該值,例如,把99999存入SMALLINT(3)數(shù)據(jù)列里,因?yàn)镾MALLINT(3)的取值范圍是-32768~32767,所以就會(huì)被截短成32767存儲(chǔ)。顯示寬度3不會(huì)影響數(shù)值的存儲(chǔ)只影響顯示。對(duì)于浮點(diǎn)數(shù)據(jù),存入的數(shù)值會(huì)被該列定義的小數(shù)位進(jìn)行四舍五入。例如,把一個(gè)1.234存入FLOAT(6.1)數(shù)據(jù)列中,結(jié)果是1.2。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(3)數(shù)值型數(shù)據(jù)的屬性ZEROFILL:適用于所有數(shù)值類數(shù)據(jù)列類型,作用是,如果數(shù)值的寬度小于定義的顯示寬度,則在數(shù)值前填充0。UNSIGNED:不允許數(shù)據(jù)列出現(xiàn)負(fù)數(shù)。AUTO_INCREMENT:可生成獨(dú)一無二的數(shù)字序列,該屬性只對(duì)整數(shù)型的數(shù)據(jù)類型有效。NULL和NOTNULL:設(shè)置數(shù)據(jù)列是否允許為空。DEFAULT:可為數(shù)據(jù)字段指定默認(rèn)值。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型2.字符型字符型可以用來表示任何一種值,所以它是最基本的類型之一。除了可以存儲(chǔ)字符串之外,字符型數(shù)據(jù)類型字段還可以存儲(chǔ)圖象和聲音之類的二進(jìn)制數(shù)據(jù),也可存儲(chǔ)用gzip壓縮的數(shù)據(jù)等。(1)字符型數(shù)據(jù)類型見表5-2MySQL字符型數(shù)據(jù)類型。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型數(shù)據(jù)類型描述Access數(shù)據(jù)類型CHAR(size)保存固定長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號(hào)中指定字符串的長度。最多

255個(gè)字符。TextVARCHAR(size)保存可變長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號(hào)中指定字符串的最大長度。最多

255個(gè)字符。注釋:如果值的長度大于

255,則被轉(zhuǎn)換為

TEXT類型。TextTINYTEXT存放最大長度為

255個(gè)字符的字符串。TextTEXT存放最大長度為

65,535個(gè)字符的字符串。MemoBLOB用于

BLOBs(BinaryLargeOBjects)。存放最多

65,535字節(jié)的數(shù)據(jù)。OleObjectMEDIUMTEXT存放最大長度為

16,777,215個(gè)字符的字符串。MemoMEDIUMBLOB用于

BLOBs(BinaryLargeOBjects)。存放最多

16,777,215字節(jié)的數(shù)據(jù)。OleObjectLONGTEXT存放最大長度為

4,294,967,295個(gè)字符的字符串。MemoLONGBLOB用于

BLOBs(BinaryLargeOBjects)。存放最多

4,294,967,295字節(jié)的數(shù)據(jù)。MemoENUM(x,y,z,etc.)允許你輸入可能值的列表??梢栽?/p>

ENUM列表中列出最大

65535個(gè)值。如果列表中不存在插入的值,則插入空值。注釋:這些值是按照你輸入的順序存儲(chǔ)的??梢园凑沾烁袷捷斎肟赡艿闹担篍NUM('X','Y','Z')無SET與

ENUM類似,SET最多只能包含

64個(gè)列表項(xiàng),不過

SET可存儲(chǔ)一個(gè)以上的值。無MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(2)CHAR和VARCHARCHAR和VARCHAR是最常用的兩種字符串類型,它們之間的區(qū)別是:CHAR是固定長度的,每個(gè)值占用相同的字節(jié),不夠的位數(shù)MySQL會(huì)在它的右邊用空格字符補(bǔ)足。VARCHAR是一種可變長度的類型,每個(gè)值占用其剛好的字節(jié)數(shù)再加上一個(gè)用來記錄其長度的字節(jié)即L+1字節(jié)。CHAR(0)和VARCHAR(0)都是合法的。VARCHAR(0)是從MySQL4.0.2版開始的。它們的作用是作為占位符或用來表示各種on/off開關(guān)值。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型如何選擇CHAR和VARCHAR,這里給出兩個(gè)原則:如果數(shù)據(jù)都有相同的長度,選用VARCHAR會(huì)多占用空間,因?yàn)橛幸晃挥脕泶鎯?chǔ)其長度。如果數(shù)據(jù)長短不一,選用VARCHAR能節(jié)省存儲(chǔ)空間。而CHAR不論字符長短都需占用相同的空間,即使是空值也不例外。如果長度出入不大,而且是使用MyISAM或ISAM類型的表,則用CHAR會(huì)比VARCHAR好,因?yàn)镸yISAM和ISAM類型的表對(duì)處理固定長度的行的效率高。在一個(gè)數(shù)據(jù)表里,只要有一個(gè)數(shù)據(jù)列的長度是可變的,則所有數(shù)據(jù)列的長度將是可變的。MySQL會(huì)進(jìn)行自動(dòng)地轉(zhuǎn)換。一個(gè)例外,CHAR長度小于4的不會(huì)進(jìn)行自動(dòng)轉(zhuǎn)換,因?yàn)镸ySQL會(huì)認(rèn)為這樣做沒必要,節(jié)省不了多少空間。反而MySQL會(huì)把大量長度小的VARCHAR轉(zhuǎn)換成CHAR,以減少空間占用量。

MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(3)BLOB和TEXTBLOB是二進(jìn)制字符串,TEXT是非二進(jìn)制字符串。兩者都可存放大容量的信息。有關(guān)BLOB和TEXT索引的建立:BDB表類型和MySQL3.23.2以上版本的MyISAM表類型允許在BLOB和TEXT數(shù)據(jù)列上建立索引。使用BLOB和TEXT應(yīng)注意的問題:由于這兩個(gè)列類型所存儲(chǔ)的數(shù)據(jù)量大,所以刪除和修改操作容易在數(shù)據(jù)表里產(chǎn)生大量的碎片,需定期運(yùn)行OPTIMIZETABLE以減少碎片和提高性能。如果使用的值非常巨大,就需對(duì)服務(wù)器進(jìn)行相應(yīng)的優(yōu)化調(diào)整,增加max_allowed_packet參數(shù)的值。對(duì)那些可會(huì)用到變些巨大數(shù)據(jù)的客戶程序,也需加大它們的數(shù)據(jù)包大小。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(4)ENUM和SETENUM和SET都是比較特殊的字符串?dāng)?shù)據(jù)列類型,它們的取值范圍是一個(gè)預(yù)先定義好的列表。ENUM或SET數(shù)據(jù)列的取值只能從這個(gè)列表中進(jìn)行選擇。ENUM和SET的主要區(qū)別是:ENUM只能取單值,它的數(shù)據(jù)列表是一個(gè)枚舉集合。它的合法取值列表最多允許有65535個(gè)成員。例如:ENUM("N","Y")表示,該數(shù)據(jù)列的取值要么是"Y",要么就是"N"。SET可取多值。它的合法取值列表最多允許有64個(gè)成員??兆址彩且粋€(gè)合法的SET值。ENUM和SET的值是以字符串形式出現(xiàn)的,但在內(nèi)部,MySQL以數(shù)值的形式存儲(chǔ)它們。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型ENUM的合法取值列表中的字符串被按聲明定義的順序被編號(hào),從1開始。SET的編號(hào)不是按順序進(jìn)行編號(hào)的,SET中每一個(gè)合法取值都對(duì)應(yīng)著SET值里的一個(gè)位。第一個(gè)合法取值對(duì)應(yīng)0位,第二個(gè)合法取值對(duì)應(yīng)1位,以此類推,如果數(shù)值形式的SET值等于0,則說明它是一個(gè)空字符串,如果某個(gè)合法的取值出現(xiàn)在SET數(shù)據(jù)列里,與之對(duì)應(yīng)的位就會(huì)被置位;如果某個(gè)合法的取值沒有出現(xiàn)在SET數(shù)據(jù)列里,與之對(duì)應(yīng)的位就會(huì)被清零。正因?yàn)镾ET值與位有這樣的對(duì)應(yīng)關(guān)系,所以SET數(shù)據(jù)列的多個(gè)合法取值才能同時(shí)出現(xiàn)并構(gòu)成SET值。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型(5)字符串類型數(shù)據(jù)列的字符集屬性在MySQL4.1以前的版本,字符串?dāng)?shù)據(jù)列的字符集由服務(wù)器的字符決定,MySQL4.1版以后的版本可對(duì)每個(gè)字符串?dāng)?shù)據(jù)列指定不同的字符串。如果按默認(rèn)方式設(shè)置,可按數(shù)據(jù)列、數(shù)據(jù)表、數(shù)據(jù)庫、服務(wù)器的順序關(guān)聯(lián)字符串的字符集,直到找一個(gè)明確定義的字符集。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型3.日期/時(shí)間型表5-3MySQL日期/時(shí)間數(shù)據(jù)類型數(shù)據(jù)類型描述Access數(shù)據(jù)類型DATE()日期。格式:YYYY-MM-DD注釋:支持的范圍是從

'1000-01-01'到

'9999-12-31'Date/TimeDATETIME()*日期和時(shí)間的組合。格式:YYYY-MM-DDHH:MM:SS注釋:支持的范圍是從

'1000-01-0100:00:00'到

'9999-12-3123:59:59'Date/TimeTIMESTAMP()*時(shí)間戳。TIMESTAMP值使用

Unix紀(jì)元('1970-01-0100:00:00'UTC)至今的描述來存儲(chǔ)。格式:YYYY-MM-DDHH:MM:SS注釋:支持的范圍是從

'1970-01-0100:00:01'UTC到

'2038-01-0903:14:07'UTCTIME()時(shí)間。格式:HH:MM:SS注釋:支持的范圍是從

'-838:59:59'到

'838:59:59'YEAR()2位或

4位格式的年。注釋:4位格式所允許的值:1901到

2155。2位格式所允許的值:70到

69,表示從

1970到

2069。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.3MySQL字段數(shù)據(jù)類型在創(chuàng)建和修改數(shù)據(jù)行時(shí),如果沒有明確對(duì)TIMESTAMP數(shù)據(jù)列進(jìn)行賦值,則它就會(huì)自動(dòng)取值為當(dāng)前的日期和時(shí)間。如果行中有多個(gè)TIMESTAMP列,只有第一個(gè)會(huì)自動(dòng)取值。如果對(duì)TIMESTAMP設(shè)置一個(gè)確定的日期和時(shí)間值,則會(huì)使TIMESTAMP的自動(dòng)取值功能失效。YEAR是一種單字節(jié)的數(shù)據(jù)列類型,YEAR(4)的取值范圍是1901~2155,YEAR(2)的取值范圍是1970~2069,但只顯示最后兩位數(shù)。MySQL能自動(dòng)把兩位數(shù)字年份轉(zhuǎn)換成四位數(shù)字的年份,如97和14分被轉(zhuǎn)換成1997和2014。轉(zhuǎn)換規(guī)則是這樣的:年份值00~69將被轉(zhuǎn)換成2000~2069;年份值70~99將被轉(zhuǎn)換成1970~1999。00被轉(zhuǎn)換成0000,而不是2000。因?yàn)閿?shù)值00也就是0,而0值是YEAR的一個(gè)合法取值。MySQL數(shù)據(jù)庫基礎(chǔ)應(yīng)用4.4“設(shè)計(jì)視圖”創(chuàng)建表4.4.4練習(xí)與提高用MySQL-Front程序在本機(jī)的MySQL數(shù)據(jù)庫系統(tǒng)中新建數(shù)據(jù)庫“myedu123”;

溫馨提示

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