自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL數(shù)據(jù)庫(kù)中關(guān)于ENUM類型的詳細(xì)解釋

數(shù)據(jù)庫(kù) MySQL
ENUM類型是一個(gè)字符串對(duì)象,其值通常選自一個(gè)允許值列表中,該列表在表創(chuàng)建時(shí)的列規(guī)格說(shuō)明中被明確地列舉。本文主要介紹了MySQL數(shù)據(jù)庫(kù)的ENUM類型,希望能夠?qū)δ兴鶐椭?/div>

MySQL數(shù)據(jù)庫(kù)中,因?yàn)楣ぷ鞯男枨螅覀兛赡軙?huì)用到ENUM類型,但是由于此類型不是很常用,我們可能對(duì)其也不是很了解。沒(méi)關(guān)系,本文我們就對(duì)ENUM類型做一些詳細(xì)的解釋,希望能夠?qū)δ兴鶐椭?/p>

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

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

如果將一個(gè)無(wú)效值插入一個(gè)ENUM(即,一個(gè)不在允許值列表中的字符串),空字符串將作為一個(gè)特殊的錯(cuò)誤值被插入。事實(shí)上,這個(gè)字符串有別于一個(gè)"普通的"空字符串,因?yàn)檫@個(gè)字符串有個(gè)數(shù)字索引值為 0。稍后有更詳細(xì)描述。

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

在列說(shuō)明中列表值所允許的成員值被從1 開始編號(hào)。

空字符串錯(cuò)誤值的索引值為0。這就意味著,你可以使用下面所示的SELECT語(yǔ)句找出被賦于無(wú)效ENUM值的記錄行。mysql> SELECT * FROM tbl_name WHERE enum_col=0;

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

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

如果將一個(gè)數(shù)字存儲(chǔ)到一個(gè)ENUM中,數(shù)字被當(dāng)作為一個(gè)索引值,并且存儲(chǔ)的值是該索引值所對(duì)應(yīng)的枚舉成員。(但是,這在LOAD DATA將不能工作,因?yàn)樗曀械妮斎刖鶠樽址? 在一個(gè)ENUM字符串中存儲(chǔ)數(shù)字是不明智的,因?yàn)樗赡軙?huì)打亂思維。

ENUM值依照列規(guī)格說(shuō)明中的列表順序進(jìn)行排序。(換句話說(shuō),ENUM值依照它們的索引號(hào)排序。)舉例來(lái)說(shuō),對(duì)于ENUM("a", "b") ,"a"排在"b"后,但是對(duì)于ENUM("b", "a"),"b"卻排在"a"之前。空字符串排在非空字符串前,NULL值排在其它所有的枚舉值前。為了防止意想不到的結(jié)果,建議依照字母的順序定義ENUM列表。也可以通過(guò)使用GROUP BY CONCAT(col)來(lái)確定該以字母順序排序而不是以索引值。

如果希望得到一個(gè)ENUM列的所有可能值,可以使用SHOW COLUMNS FROM table_name LIKE enum_colum來(lái)實(shí)現(xiàn)。

關(guān)于MySQL數(shù)據(jù)庫(kù)ENUM類型的知識(shí)就介紹到這里了,如果您想了解更多MySQL數(shù)據(jù)庫(kù)的知識(shí),可以看一下這里的文章:http://database.51cto.com/mysql/,相信一定可以給您帶來(lái)收獲的。

【編輯推薦】

  1. MySQL數(shù)據(jù)庫(kù)查詢步驟和緩存原理
  2. MySQL密碼恢復(fù)和修改的方法總結(jié)篇
  3. 批量轉(zhuǎn)換MySQL數(shù)據(jù)庫(kù)表的存儲(chǔ)引擎的方法
  4. MySQL數(shù)據(jù)庫(kù)集群實(shí)現(xiàn)負(fù)載均衡的安裝配置詳解
  5. 一個(gè)mysql數(shù)據(jù)庫(kù)配置問(wèn)題導(dǎo)致登錄失敗的解決方案
責(zé)任編輯:趙鵬 來(lái)源: 火魔網(wǎng)
相關(guān)推薦

2010-05-31 10:09:16

MySQL數(shù)據(jù)庫(kù)

2011-08-16 17:43:09

GoldenGate目

2023-02-28 00:01:53

MySQL數(shù)據(jù)庫(kù)工具

2010-06-02 11:24:57

MySQL數(shù)據(jù)庫(kù)主鍵

2009-11-09 14:15:17

WCF集合類型

2018-08-24 13:58:13

數(shù)據(jù)庫(kù)MySQL備份

2019-04-02 10:36:17

數(shù)據(jù)庫(kù)MySQL優(yōu)化方法

2011-08-23 15:16:54

OracleMySQL

2022-07-03 06:10:15

MySQL數(shù)據(jù)庫(kù)

2011-07-26 16:53:29

MongoDB數(shù)據(jù)庫(kù)自動(dòng)分片技術(shù)

2011-08-05 13:17:34

Oracle數(shù)據(jù)庫(kù)閃回個(gè)性

2010-05-26 17:05:48

MySQL數(shù)據(jù)類型

2011-04-08 17:53:31

數(shù)據(jù)庫(kù)

2011-08-29 16:27:16

MySQL時(shí)間類型

2011-08-30 14:15:34

QTSQLite數(shù)據(jù)庫(kù)

2011-08-02 18:38:19

MySQLINI文件

2011-08-05 11:01:15

MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)

2010-05-26 10:41:30

2010-06-04 15:32:18

MySQL數(shù)據(jù)庫(kù)

2010-04-09 16:40:01

Oracle數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)