刚开始用MYSQL,一直没注意到这个类型,它有什么优点?或者说如果存储内容都是短字符串的话,它跟varchar有何区别?
欢迎选择我的课程,让我们一起见证您的进步~~
例如下面两个字段:
name varchar(50) , sex enum('male' , 'female' , 'both' , 'unknow')
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
字段可以插入任意字符串。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是等效的