当前位置:   article > 正文

mysql的枚举型数据库_mysql数据类型中的枚举型_mysql_mysql教程_mysql数据库_课课家...

mysql中枚举类型可以为空值吗

在MySQL当中,枚举类型ENUM是一个字符串对象,它的值是在表创建的时侯在列规定中显式枚举的一列值。而在某些情况下,ENUM值也可以为空字符串('')或者是NULL。今天小编就通过这篇文章介绍enum以及set这两种枚举类型,枚举类型可以限制某些特定列,如性别列的插入数据。

(一)MySQL怎样创建enum

(1)枚举的声明语法ENUM(“value1”、“value2”...),与text类型相同,将会占用1到2个字节,,然而,枚举字段仅仅是储存的索引值,在括号当中,每个value都储存在其他的文件中,在索引小于255时就占用1字节,在索引在255到65535之间的时侯,就占用2字节,在理论上能够索引65535个value,事实上就会受数据库单个文件大小的限制。

fbc35dfa962b183219dc86c391bb37e6.png

(2)枚举声明中要避免使用整数,如enum(3,2,1),是因为枚举的索引也是整数,查询的时侯很容易出现错误,储存整数要用int类型,或者是用单引号将成员引起来,作字符串类型储存,如enum("3","2","1")。但是,小编就觉得要避免在索引列用空字符或者是NULL,因为存入一个枚举中不存在的值也会自动被转换成空字符,索引是0。要是枚举中设定空字符成员,再插入空字符会得到正确的索引值,表面上看这两种空字符完全相同,要避免这种情况。与NULL对应的索引是NULL,而其他正常数据的索引是从1开始的,如下例:

60c32e618ddef84e89172e1f565ca1db.png

9e5b7fbcb988a558acf075166979105c.png

(3)枚举列中数据的修改操作:

892dc8685bd446e9b3bdc13a9205438d.png

注意:enum应该要避免空字符成员,如下例:

15bb1381870b036735a5384749d482dc.png

(二)MySQL怎么创建set列

与enum相似,set也能声明多个有效值,在set列当中,插入数据的时侯还能选择多个有效值,set类型占用字节的大小不固定,它可以占用1,2,3,4或者是8个字节,即使set有最大8个字节的索引,但事实上储存的value还会受MySQL最大文件的限制。如下例:

2f757ad405a9a7713e13dca784f40a47.png

总结:我们要知道,要是把非法值插入ENUM,即允许的值列之外的字符串中,把插入空字符串作为特殊错误值,那这个字符串与“普通”空字符串不同,它会有数值值0。在mysql的数据类型当中,枚举型还是较为常见的,大家需要好好的掌握哦。希望这篇文章可以使大家详细的了解枚举型的内容。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/694861
推荐阅读
相关标签
  

闽ICP备14008679号