3、ENUM类型
ENUM是一个字符串对象,其值为表创建时在列规定中枚举的一列值。语法格式如下:
字段名 ENUM(‘值1’,‘值2’...‘值n’)
字段名指将要定义的字段,值n指枚举列表中的第n个值。ENUM类型的字段在取值时,只能在指定的枚举列表中取值,而且一次只能取一个。如果创建的成员中有空格时,其尾部的空格将自动被删除。ENUM值在内部用整数表示,每个枚举值均有一个索引:列表值所允许的成员值从1开始编号,MySQL存储的就是这个索引编号。枚举最多可以有65535个元素。
例如:定义ENUM类型的列(‘first’,’second’,’third’),该列可以取的值和每个值的索引如下:
值
索引
NULL
NULL
“
0
first
1
second
2
third
3
EUNM值依照列索引顺序排列,并且空字符串排在非空字符串的前面,NULL值排在其他所有的枚举值前。
范例:
创建表emp10,定义INT类型的score字段,ENUM类型的字段level,列表值为(‘excellent’,’good’,’bad’),向表emp10中插入数据。
create table emp10(score INT,level enum('excellent','good','bad'));
insert into emp10 values (70,'good'),(90,1),(80,2),(50,3),(100,'best&