BLOBはバイナリ大規模オブジェクト型であり、可変長のデータを格納できます。
BLOB型には4種類あり、それぞれTINYBLOB、BLOB、MEDIUMBLOB、LONGBLOBです。これらは格納値の最大長が異なります。
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