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

(一)MySQL怎样创建enum列

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

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

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

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

(二)MySQL怎么创建set列

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

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

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

  1. vc mysql教程视频教程_vc++_vc++教程_vc++视频教程 _课课家

    本套餐将包括两个重磅性的课程与一个赠送学习的课程,分别为SpringBoot实战视频教程与RabbitMQ实战教程跟SSM整合开发之poi导入导出Excel.目的是为了让各位小伙伴可以从零基础一步一个 ...

  2. mysql 枚举字段_MySQL字段中的枚举

    MySQL字段相信大家都有一些了解,下面将为您介绍的是MySQL字段中的枚举,希望对您学习MySQL字段方面能够有所帮助. MySQL字段中的枚举: mysql> create table me ...

  3. 【数据库】Oracle中的字符型及处理方法

    与其他编程语言一样,oracle中同样存在着数据类型. oracle中的数据类型主要有两个应用场景:一是用于指定数据表中列的类型:二是用于PL/SQL编程中声明变量. oracle的数据类型主要包括: ...

  4. c 批量导入mysql数据库_C#.NET中如何批量插入大量数据到数据库中

    在WEB项目开发过程中有时会碰到批量插入数据到数或者是将EXCEL文件据入到数据库中.为了方便实现可以先将EXCEL导入到GRIDVIEW中然后一次批量插入.实现代码如下: 前台代码 后台代码: // ...

  5. 如何向oracle中导入数据,Oracle导入导出数据库的语法_Oracle_Oracle语法_Oracle数据库_课课家...

    在Oracle当中如何才能对数据库的语法进行导入导出呢?其实啊,这有不止一种方法呢.事实上啊,在Oracle当中,不仅可以在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式,而且还可以采用 ...

  6. 全国计算机等级考试二级教程—access数据库程序设计 pdf,全国计算机等级考试二级教程——Access数据库程序设计...

    全国计算机等级考试二级教程--Access数据库程序设计 (151页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 课程号 课程名 学时 教 ...

  7. 解决mysql不能修改密码_如何解决mysql修改密码后不能成功登录_数据库_mysql修改密码_课课家...

    今天给大家解决下MySQL修改密码后导致不能登录的问题,一般我们都知道mysql4.1.1版本后修改了用户密码的格式,一旦修改了密码,4.1.1以前的版本上是不能进行成功登录的,那么对于这些问题该如何 ...

  8. java(3)——数据类型中的数值型的整数类型

    java的数据类型有两大类:基本数据类型和引用数据类型 基本数据类型分为数值型(数值型又分为整数类型(byte.short.int.long)和浮点类型(float.double)).字符型(char ...

  9. mysql数据库查询要注意事项_三种mysql高级查询技巧_数据库_mysql函数_课课家

    大家都知道GROUP BY,但是大家知道GROUP BY后面可以带哪些函数吗?今天给大家介绍下GROUP BY后面可以带的函数. 1GROUP_CONCAT 在MySQL中,你可以获取表达式组合的连接 ...

最新文章

  1. Android 基于 Speex 的高度封装语音库,0 耦合,没三方jar包
  2. 史上第二走心的 iOS11 Drag Drop 教程
  3. 定时器java执行越来越晚,虽然Java是解释型语言,但随着随着(???????????)编译器技术的发展,Java程序的运行速度越来越接近于C 等编译型语言。...
  4. Day 21:Docker 入门教程
  5. I.MX6 boot from Micro SD
  6. IdentityServer4之持久化很顺手的事
  7. manjaro linux 使用Xorg显示服务器
  8. 斯托克斯定理(Stokes' theorem)
  9. 全面理解搜索Query:当你在搜索引擎中敲下回车后,发生了什么?
  10. 腾讯Node.js基础设施TSW正式开源 1
  11. Kafka节点扩容、缩容后reassign partition
  12. 大数据揭秘《都挺好》:比起樊胜美 女性更想当苏明玉
  13. xml 转json 传输
  14. linux mysql主从半同步_centos下安装mysql主从架构(半同步/多实例)
  15. Appium元素定位方法
  16. java电文_卫星导航电文数据收集方法与流程
  17. 免费分享全套吴恩达深度学习课程笔记以及编程作业集合
  18. DNS网通电信互通解决方案
  19. 铁打的春晚,流水的互联网公司
  20. Netty源码分析(六)—Future和Promis分析

热门文章

  1. opencv4.0.1 qr二维码定位识别源码详解(一)
  2. ecc算法的代码实现
  3. Oracle kswapd0,kswapd0进程过一段时间占用CPU高达100%
  4. 阿里10年测开经验分享-我的软件测试之路也并不是一帆风顺
  5. eclipse的preferences中怎么调出organize imports选项
  6. Socket设置超时时间
  7. 三块屏幕显示屏如何分配 嘻嘻 我有三块屏幕哈哈
  8. mysql fa连接池中间件_小米开源数据库中间件gaea
  9. left join on 的用法 inner join on的用法 right join on 的用法
  10. 能否针对容量和性能来优化数据中心的存储?Adaptec by PMC解决方案给你肯定的答案