ENUM类型

  • ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。

  • 其所需要的存储空间由定义ENUM类型时指定的成员个数决定。

文本字符串类型长度长度范围占用的存储空间
ENUML1 <= L <= 655351或2个字节
  • 当ENUM类型包含1~255个成员时,需要1个字节的存储空间;

  • 当ENUM类型包含256~65535个成员时,需要2个字节的存储空间。

  • ENUM类型的成员个数的上限为65535个。

举例:

创建表如下:

CREATE TABLE test_enum(
season ENUM('春','夏','秋','冬','unknow')
);

添加数据:

INSERT INTO test_enum
VALUES('春'),('秋');

INSERT INTO test_enum
VALUES('UNKNOW');
  • 忽略大小写
    在这里插入图片描述

  • 当添加个没有定义的数值时,就会报错
    在这里插入图片描述

  • 当添加多个定义的值,也会报错
    在这里插入图片描述

  • 可以使用索引进行枚举元素的调用,下标从 1 开始

# 允许按照角标的方式获取指定索引位置的枚举值
INSERT INTO test_enum
VALUES('1'),(3);

SELECT * FROM test_enum;

在这里插入图片描述

  • 没有限制非空的情况下,可以添加null
# 当ENUM类型的字段没有声明为NOT NULL时,插入NULL也是有效的
INSERT INTO test_enum
VALUES(NULL);

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐