刚开始用MYSQL,一直没注意到这个类型,它有什么优点?或者说如果存储内容都是短字符串的话,它跟varchar有何区别?
欢迎选择我的课程,让我们一起见证您的进步~~
例如下面兩個欄位:
name varchar(50) , sex enum('male' , 'female' , 'both' , 'unknow')
name 欄位可以插入任意字串。 name 字段可以插入任意字符串。
name
sex 字段只允许插入 male , female , both , unknow 中的其中之一,不在范围内的值会报错。
sex
male , female , both , unknow
enum 相比较 varchar
enum
varchar
Enum 好處讓值取在幾個值範圍內
查詢string和enum速度上差不多,用到enum或set就是邏輯上的需要吧。 。 。
enum在底層的儲存方式是以整型進行儲存的例如這樣的欄位sex enum('male' , 'female' , 'both' , 'unknow')在查詢時where sex='male' 和where sex=1是等效的
例如下面兩個欄位:
name
欄位可以插入任意字串。name
字段可以插入任意字符串。sex
字段只允许插入male , female , both , unknow
中的其中之一,不在范围内的值会报错。enum
相比较varchar
sex
欄位只允許插入male , female , both , unknow
中的其中之一,不在範圍內的值會報錯。enum
相比較varchar
就更規範些,你在程式中限定也一樣可以做到。 🎜 🎜對於效能比較的話,就得等待高手來解答了.....🎜Enum 好處讓值取在幾個值範圍內
查詢string和enum速度上差不多,用到enum或set就是邏輯上的需要吧。 。 。
enum在底層的儲存方式是以整型進行儲存的
例如這樣的欄位
sex enum('male' , 'female' , 'both' , 'unknow')
在查詢時
where sex='male'
和where sex=1是等效的