mysql中enum型別理解

2021-09-07 18:05:13 字數 603 閱讀 5065

enum是列舉型別,它雖然只能儲存乙個值,卻能夠處理多達65535個預定義的值。下面是我寫的乙個mysql語句

create table student(

id int(11) primary key auto_increment,

name varchar(10) not null,

*** enum('boy','girl','secret') default 'secret'

)engine=innodb

如果***列中插入了除bor,girl,secret之外的其它字元,則視為空字串

1 每個列舉值都有乙個索引:

select

*from tbl_name where enum_col=

0;

2 最多可以有65535個不同的元素值(實際限制小於3000)。 

3 列舉值不能是0或空字串(雖然存在特殊情況) 

4.enum在底層的儲存方式是以整型進行儲存的,比如這樣的字段*** enum('male' , 'female' , 'both' , 'unknow')在查詢時where ***='male'和where ***=1是等效的

mysql中的ENUM型別

enum 是乙個字串物件,其值來自表建立時在列規定中顯式列舉的一列值。在某些情況下,enum 值也可以為空字串 或null 如果你將乙個非法值插入enum 也就是說,允許的值列之外的字串 將插入空字串以作為特殊錯誤值。該字串與 普通 空字串不同,該字串有數值值0 後面有詳細討論。如果將enum 列宣...

mysql 列舉(ENUM)型別

童鞋們好,今天我們來總結概括一下列舉型別。單選字串資料型別,適合儲存表單介面中的 單選值 設定enum的時候,需要給定 固定的幾個選項 儲存的時候就只儲存其中的乙個 值。設定enum的格式 enum 選項1 選項2 選項3 一般會根據列表值得資料壓縮到1 2位元組,mysql的內部會將每個值在列表中...

mysql中的enum和set型別

mysql中的enum和set其實都是string型別的而且只能在指定的集合裡取值,不同的是set可以取多個值,enum只能取乙個 create table 20121101 t id int 11 not null auto increment,name varchar 20 not null,c...