[数据库] MySQL之数据类型:enum 枚举类型
1 需求描述
- 场景
性别(gender) :男 / 女 / 保密
2 基本语法
enum(枚举值 1,枚举值 2...);
- 枚举值列表在 255 个以内,使用 1 个字节来存储
- 枚举值列表超过 255,但是小于 65535,使用 2 个字节来存储
-- Enum(0=>'男', 1=>'女', 2=>'保密')
create table tb_demo(
gender enum('男', '女', '保密')
)
mysql> desc tb_demo;
+--------+----------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------------------------+------+-----+---------+-------+
| gender | enum('男','女','保密') | YES | | NULL | |
+--------+----------------------------+------+-----+---------+-------+
-- 插入规范数据
insert into tb_demo(gender) values ('男');
insert into tb_demo(gender) values ('女');
mysql> select * from tb_demo;
+--------+
| gender |
+--------+
| 男 |
| 女 |
+--------+
3 枚举类型的作用
枚举的意义:
-
规范/约束数据本身,限定只能插入规定的数据项
-
节省存储空间。枚举类型存储的不是真正的字符串,而是存储了下标
-- MySQL 会自动类型转换,+、-、\*、/ 会将数据转换成数值,普通字符串转换为数值 0
select gender + 0 from tb_demo;
mysql> select gender + 0 from tb_demo;
+------------+
| gender + 0 |
+------------+
| 1 |
| 2 |
+------------+
-- 可直接插入数值数据
insert into tb_demo(gender) values (1);
mysql> select * from tb_demo;
+--------+
| gender |
+--------+
| 男 |
| 女 |
| 男 |
+--------+
X 参考文献
- MySQL数据类型enum 枚举类型 - jb51 [推荐: 言简意赅]
![QQ沟通交流群](https://blog-static.cnblogs.com/files/johnnyzen/cnblogs-qq-group-qrcode.gif?t=1679679148)
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!