龙空技术网

mysql中enum类型理解,读完之后,大部分程序员收藏了...

程序员Share 221

前言:

此时你们对“mysql的enum类型”大概比较看重,咱们都想要学习一些“mysql的enum类型”的相关资讯。那么小编也在网摘上网罗了一些关于“mysql的enum类型””的相关内容,希望大家能喜欢,同学们一起来了解一下吧!

ENUM是枚举类型,它虽然只能保存一个值,却能够处理多达65535个预定义的值。下面是我写的一个mysql语句

CREATE TABLE student(id INT(11) PRIMARY key auto_increment,name VARCHAR(10) not null,sex ENUM('boy','girl','secret') DEFAULT 'secret')ENGINE=INNODB

如果sex列中插入了除bor,girl,secret之外的其它字符,则视为空字符串

1 每个枚举值都有一个索引:

列出的元素被分配从1开始的索引值。空字符串作为错误值的索引值为0。可以使用select语句找出那些被指定无效枚举值的数据行。

SELECT * FROM tbl_name WHERE enum_col=0;
NULL的索引为NULL。这里的索引只是指出枚举表里该元素的位置,和表索引不同。

2 最多可以有65535个不同的元素值(实际限制小于3000)。
3 枚举值不能是0或空字符串(虽然存在特殊情况)

4.enum在底层的存储方式是以整型进行存储的,比如这样的字段sex enum('male' , 'female' , 'both' , 'unknow')在查询时where sex='male'和where sex=1是等效的

关注

感谢阅读,如果这篇文章帮助了您,欢迎 点赞 ,收藏,关注,转发 哟。您的帮助是我们前行的动力,我们会提供更多有价值的内容给大家... 谢谢!

标签: #mysql的enum类型