mysql中的枚举类型和位数据类型

  • 定义一个枚举类型
    create TABLE xxx( e ENUM('AA','BB','CC') NOT NULL)
  • 插入枚举类型值
    INSERT INTO xxx(e) VALUES('AA'),('BB')

枚举类型和一般字符串类型的比较

  • 在mysql中,枚举类型会在表的内部被替换为一个整数,并且在.frm文件中有相应的关系映射表
  • 枚举字段是按照整数顺序排序,而不是按照字符串顺序排序,要想按照字符串排序,可使用
    ORDER BY FIELD(e, 'AA','BB','CC')
    这里就是按照给定的AA,BB,CC顺序排序
  • 枚举不适合表示变长字符串,需要改动表
  • 枚举因为整数的原因所以列表比较小,枚举和枚举之间关联要比枚举和字符串类型的关联快得多
posted @ 2021-11-25 21:50  NoBugNoError  阅读(215)  评论(0)    收藏  举报