MySQL中的enum和set类型
文章目錄
- 1 enum類型
- 2 set類型
1 enum類型
ENUM類型又稱為枚舉類型。在創(chuàng)建表時,ENUM類型的取值范圍以列表的形式指定,其基本形式如下:
- 屬性名 ENUM('值1', '值2', …, '值n')
其中,“屬性名”參數(shù)指字段的名稱,“值n”參數(shù)表示列表中的第n個值。ENUM類型的值只能取列表中的一個元素。其取值列表中最多能有65535個值。如果數(shù)據(jù)值列表在255個以內(nèi),那么一個字節(jié)就夠,如果超過255但是小于65535,那么系統(tǒng)采用兩個字節(jié)保存。列表中的每個值獨有一個順序排列的編號,MySQL中存入的是這個編號,而不是列表中的值。默認(rèn)編號從1開始!
比如:
Enum(‘男’,’女’,‘選擇保密’) # ‘男’=>1 ‘女’=>2 ‘選擇保密’=> 3
如果ENUM類型加上了NOT NULL屬性,其默認(rèn)值為取值列表的第一個元素。如果不加NOT NULL屬性,ENUM類型將允許插入NULL,而且NULL為默認(rèn)值。注意:其它的數(shù)據(jù)類型如果指定為NOT NULL并且未指定默認(rèn)值,則必須插入有效值。
2 set類型
在創(chuàng)建表時,SET類型的取值范圍就以列表的形式指定了,其基本形式如下:
- 屬性名 SET('值1', '值2', …, '值n')
其中,屬性名參數(shù)指字段的名稱,“值n”參數(shù)表示列表中的第n個值,這些值末尾的空格將會被系統(tǒng)直接刪除。其基本形式與ENUM類型一樣。SET類型的值可以取列表中的一個元素或者多個元素的組合。取多個元素時,不同元素之間用逗號隔開。SET類型的值最多只能是由64個元素構(gòu)成的組合。
mysql> use test; #選擇數(shù)據(jù)庫test mysql> create table set_example (interest set('足球','追劇','籃球','撩妹') ); #創(chuàng)建表 mysql> insert into set_example values( '足球,撩妹' ); #插入記錄,必須是enum 選項中的值 mysql> insert into enum_example values(9); #插入相應(yīng)位效果等同,9 =>1001 選擇1,4 mysql>select interest+0 from set_example; #以整數(shù)的方式查詢參考資料:
總結(jié)
以上是生活随笔為你收集整理的MySQL中的enum和set类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL中的Text类型
- 下一篇: 什么人招蚊子咬?