微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

枚举类型在mysql怎么用

枚举类型在MysqL的使用方法:1、插入数据,语法为【insert into my_enum values (1),(2);】;2、错误数据,语法为【insert into my_enum values('male');】。

相关学习推荐:mysql教程

枚举类型在MysqL的使用方法

枚举:enum,实现将所有可能出现的结果都设计好,实际上存储的数据必须是规定好的数据中的一个

枚举的使用方式

定义:enum(可能出现的元素列表);

如enum(‘男’,‘女’)

使用:存储数据,只能存储上面定义好的数据

意义在于:

1, 限定值的可能性!

2, 速度快,比普通的字符串速度快!

原因是枚举型 是利用 整数进行管理的,能够2个字节进行管理!

每个值,都是一个整数标识,从第一个选项开始为1,逐一递增!

管理时整数的形式,速度比字符串快!

一共有2 个字节,0-65535,因此可以有 65535个选项可以使用!、

创建枚举表

create table my_enum(
  gender enum('男','女','保密')
)charset utf8;

作用之一:规范数据格式,数据只能是规定的数据中的其中一个

作用之二:节省存储空间(枚举通常有一个别名:单选框),枚举实际存储的是数值,而不是字符串本身

MysqL中,系统也是自动转换格式的,而且基本与PHP一样(尤其是字符串转数字)

插入数据

-- 有效数据

insert into my_enum values('男'),('保密');

-- 数值插入枚举元素

insert into my_enum values (1),(2);

原理在下面

错误数据

insert into my_enum values('male'); -- 错误:没有该元素

证明字段存储的数据是数值:将数据去除了 +0 就可以判断出原来的数据存储的到底是字符串还是数值,如果是字符串最终结果永远是0,否则是其他值

-- 将字段结果取出来进行+0运算

select gender + 0,gender from my_enum;

找出了枚举元素的实际规律:按照元素出现的顺序,从1开始编号

枚举原理:枚举在进行数据规范的时候(定义的时候),系统会自动建立一个数字与枚举元素的对应关系(关系放到日志中);然后在进行数据插入的时候,系统自动将字符转换成对应的数字存储,然后在进行数据提取的时候,系统就自动将数字转换成字符串显示

因为我枚举实际存储的是数值,所以可以直接插入数值

想了解更多编程学习,敬请关注php培训栏目!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐