BLOBはバイナリの大規模オブジェクト型であり、可変長のデータを格納できます。
BLOB型には、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOBの4種類があります。それぞれ格納可能な値の最大長が異なります。
BLOB値はバイナリ文字列(バイト文字列)と見なされ、バイナリ文字セットとソート規則を持ちます。比較やソートは、列値内のバイトの数値に基づいて行われます。
厳密SQLモードが有効でない場合、BLOB列に割り当てた値がその列の最大長を超えると、長さを超える部分が切り捨てられ、アラートが生成されます。厳密SQLモードを使用する場合、切り捨てられるのが非空白文字の場合は、エラー(アラートではない)が発生し、値の挿入が禁止されます。
TINYBLOB
TINYBLOBは最大長が255バイトのBLOB型です。
TINYBLOBの構文は次のとおりです:
TINYBLOB
BLOB
BLOB列の最大長は65,535バイトです。
BLOB型には、オプションの長さMを指定できます。構文は次のとおりです:
BLOB[(M)]
MEDIUMBLOB
MEDIUMBLOBは最大長が16,777,215バイトのBLOB型です。
MEDIUMBLOBの構文は次のとおりです:
MEDIUMBLOB
LONGBLOB
LONGBLOBは最大長が536870910バイトのBLOB型です。LONGBLOB列の最大有効長は、クライアント/サーバープロトコルで設定された最大パケットサイズと利用可能なメモリによって決まります。
LONGBLOBの構文は次のとおりです:
LONGBLOB