MySQL數(shù)據(jù)庫中ENUM類型的作用是什么

本篇文章給大家分享的是有關(guān)MySQL數(shù)據(jù)庫中ENUM類型的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的南充網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

MySQL數(shù)據(jù)庫中ENUM類型是什么意思

ENUM類型是一個字符串對象,其值通常選自一個允許值列表中,該列表在表創(chuàng)建時的列規(guī)格說明中被明確地列舉。

在下列某些情況下,值也可以是空串("")或NULL。

如果將一個無效值插入一個ENUM(即,一個不在允許值列表中的字符串),空字符串將作為一個特殊的錯誤值被插入。事實上,這個字符串有別于一個"普通的"空字符串,因為這個字符串有個數(shù)字索引值為0。稍后有更詳細描述。

如果一個ENUM被聲明為NULL,NULL也是該列的一個合法值,并且該列的缺省值也將為NULL。如果一個ENUM被聲明為NOTNULL,該列的缺省值將是該列表所允許值的第一個成員。每個枚舉值均有一個索引值。

在列說明中列表值所允許的成員值被從1開始編號。

空字符串錯誤值的索引值為0。這就意味著,你可以使用下面所示的SELECT語句找出被賦于無效ENUM值的記錄行。mysql>SELECT*FROMtbl_nameWHEREenum_col=0;

MySQL數(shù)據(jù)庫中ENUM類型是什么意思

NULL值的索引值為NULL。例如,指定為ENUM("one","two","three")的一個列,可以有下面所顯示的任一值。每個值的索引值也如下所示:值索引值NULLNULL""0"one"1"two"2"three"3換個枚舉最大可以有65535個成員值。從MySQL3.23.51開始,當表被創(chuàng)建時,ENUM值尾部的空格將會自動刪除。當為一個ENUM列賦值時,字母的大小寫是無關(guān)緊要的。然而,以后從列中檢索出來的值的大小寫卻是匹配于創(chuàng)建表時所指定的允許值。

如果在一個數(shù)字語境中檢索一個ENUM,列值的索引值將被返回。例如,你可以像這樣使用數(shù)字值檢索一個ENUM列:mysql>SELECTenum_col+0FROMtbl_name;

如果將一個數(shù)字存儲到一個ENUM中,數(shù)字被當作為一個索引值,并且存儲的值是該索引值所對應的枚舉成員。(但是,這在LOADDATA將不能工作,因為它視所有的輸入均為字符串。)在一個ENUM字符串中存儲數(shù)字是不明智的,因為它可能會打亂思維。

ENUM值依照列規(guī)格說明中的列表順序進行排序。(換句話說,ENUM值依照它們的索引號排序。)舉例來說,對于ENUM("a","b"),"a"排在"b"后,但是對于ENUM("b","a"),"b"卻排在"a"之前??兆址旁诜强兆址埃琋ULL值排在其它所有的枚舉值前。為了防止意想不到的結(jié)果,建議依照字母的順序定義ENUM列表。也可以通過使用GROUPBYCONCAT(col)來確定該以字母順序排序而不是以索引值。

如果希望得到一個ENUM列的所有可能值,可以使用SHOWCOLUMNSFROMtable_nameLIKEenum_colum來實現(xiàn)。

以上就是MySQL數(shù)據(jù)庫中ENUM類型的作用是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標題:MySQL數(shù)據(jù)庫中ENUM類型的作用是什么
文章分享:http://bm7419.com/article6/jceoig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、電子商務(wù)、服務(wù)器托管網(wǎng)站營銷、用戶體驗、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)