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に変更されます。