MySQL中字段属性——枚举类型(ENUM)

在MySQL中,对于"省份" ,"民族","性别"等会存在大量重复字段值并且可以预定义为一个不重复的字符串集合的字段,就可以定义为枚举类型。因为如果对这个字符集增删改字符串的时候,需要ALTER TABLE。因为对于未来可能会改变的字段不适合用 枚举类型。

枚举类型:适用于字段值大量重复,字段值可也预设,预设字符集不容易改变。

Mysql在存储枚举类型时非常紧凑,会根据列表值得数据压缩到一个或者两个字节中。Mysql在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存“数字-字符串”映射关系的“查找表”。因而,不建议将枚举类型中的预设字符集的值设置为整数,这样容易造成混淆。

注意:枚举类型是按照内部存储的数字(也就是字符串声明的顺序)排序的而不是根据定义的字符串排序的。

 

你可能感兴趣的:(MySQL中字段属性——枚举类型(ENUM))