欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql中枚举类型之enum详解

程序员文章站 2022-04-05 21:08:45
...

enum类型就是我们常说的枚举类型,它的取值范围需要在创建表时通过枚举方式(一个个的列出来)显式指定,对1至255个成员的枚举需要1个字节存储;

对于255至65535个成员,需要2个字节存储。最多允许有65535个成员。
先通过sql语句创建一个具有枚举类型的数据表。

代码如下 复制代码
create table user_sex( sex enum('M','F'));

再往表中写入几条测试数据:

insert into user_sex values('M'),('s'),('2'),('f');

在表中查看写入的结果时,发现变成了这样M,M,M,F(注意每个字符为一条记录)。由结果可知enum类型是忽略大小写的,'f'被自动转化成了'F',对写入了不在指定范围内的值时,会强制写入枚举里的第一个值(M)。另外,enum类型只从填集合中选取单个值,而不能取多个值。

ENUM测试总结

n 枚举类型ENUM

a).数据库表mysqlops_enum结构
执行数据库表mysqlops_enum创建的SQL语句:

假设表: xxx 中有一字段 folder 类型为enum('inbox','outbox','other')

保存

代码如下 复制代码

insert into `xxx` (`folder`) values ('inbox');
insert into `xxx` (`folder`) values ('outbox');
insert into `xxx` (`folder`) values ('other');

更新

代码如下 复制代码

update `xxx` set `folder` = 'inbox';
update `xxx` set `folder` = 'outbox';
update `xxx` set `folder` = 'other';

删除

代码如下 复制代码

delete from `xxx` where `folder` = 'inbox';
delete from `xxx` where `folder` = 'outbox';
delete from `xxx` where `folder` = 'other';

enum类型定义好以后 操作跟 字符串一样

更多详细内容请查看: