TEXT型は、あらゆる種類のテキストデータを格納するために使用されます。
テキスト型には4種類あり、それぞれ TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT です。これらは4種類の BLOB 型に対応しており、最大長とストレージ要件が同じです。
TEXT 値は非バイナリ文字列と見なされます。これらはバイナリ以外の文字セットを持ち、値のソートと比較は文字セットの照合順序に従って行われます。
厳密SQLモードが有効でない場合、TEXT 列に割り当てた値がその列の最大長を超えると、長さを超える部分が切り捨てられ、アラートが生成されます。厳密SQLモードを使用する場合、切り捨てられるのが空白文字以外の場合は、エラー(アラートではない)が発生し、値の挿入が禁止されます。SQLモードに関係なく、TEXT 列に挿入された値の余分な末尾の空白を切り捨てると、常にアラートが生成されます。
TINYTEXT
TINYTEXT は、最大長が255バイトの TEXT 型です。
TINYTEXT の構文は次のとおりです:
TINYTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
CHARACTER SET は文字セットを指定するために使用されます。必要に応じて、COLLATE 属性やその他の属性を使用して、文字セットの照合順序を指定できます。CHARACTER SET にバイナリ属性を指定すると、列が対応するバイナリ文字列データ型として作成され、TEXT は BLOB に変わります。
TEXT
TEXT 列の最大長は65,535バイトです。
TEXT 型には、オプションの長さ M を指定できます。構文は次のとおりです:
TEXT[(M)] [CHARACTER SET charset_name] [COLLATE collation_name]
CHARACTER SET は文字セットを指定するために使用されます。必要に応じて、COLLATE 属性やその他の属性を使用して、文字セットの照合順序を指定できます。CHARACTER SET にバイナリ属性を指定すると、列が対応するバイナリ文字列データ型として作成され、TEXT は BLOB に変わります。
MEDIUMTEXT
MEDIUMTEXT は、最大長が16,777,215バイトの TEXT 型です。
MEDIUMTEXT の構文は次のとおりです:
MEDIUMTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
CHARACTER SET は文字セットを指定するために使用されます。必要に応じて、COLLATE 属性やその他の属性を使用して、文字セットの照合順序を指定できます。CHARACTER SET にバイナリ属性を指定すると、列が対応するバイナリ文字列データ型として作成され、TEXT は BLOB に変わります。
また、OceanBaseデータベースは拡張型 LONG もサポートしていますが、MEDIUMTEXT の使用を推奨します。
LONGTEXT
LONGTEXT は、最大長が536870910バイトの TEXT 型です。LONGTEXT 列の実質的な最大長は、クライアント/サーバープロトコルで設定された最大パケットサイズと利用可能なメモリにも依存します。
LONGTEXT の構文は次のとおりです:
LONGTEXT [CHARACTER SET charset_name] [COLLATE collation_name]
CHARACTER SET は文字セットを指定するために使用されます。必要に応じて、COLLATE 属性やその他の属性を使用して、文字セットの照合順序を指定できます。CHARACTER SET にバイナリ属性を指定すると、列が対応するバイナリ文字列データ型として作成され、TEXT は BLOB に変わります。