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