首頁  >  文章  >  資料庫  >  mysql中枚举类型之enum详解

mysql中枚举类型之enum详解

WBOY
WBOY原創
2016-06-07 17:52:243761瀏覽

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类型定义好以后 操作跟 字符串一样

更多详细内容请查看: 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn