列挙型 ENUM は、リスト 'value1', 'value2', ... からの値のみを取り得る文字列オブジェクトであり、列挙値は引用符で囲まれた文字列リテラルでなければなりません。
ENUM 値は内部では整数として表現されます。ENUM 列は最大で65,535個の異なる要素を格納できます(実際の制限は3000未満です)。ENUM は可変長型であり、UTF8MB4 文字セットをサポートしています。
ENUM の構文は以下のとおりです:
ENUM('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name]
CHARACTER SET は文字セットを指定するために使用されます。必要に応じて、COLLATE 属性やその他の属性を使用して文字セットの照合順序を指定できます。
ENUM 型には以下の利点があります:
入力された文字列は自動的に数値にエンコードされ、圧縮されたデータとして保存されます。
クエリと出力が読みやすくなります。数値はクエリ結果内の対応する文字列に変換されます。