- Home ›
- MySQLの使い方 ›
- MySQLのデータ型 ›
- HERE
BLOB型とTEXT型
ここでは文字列型の中でもBLOB型とTEXT型について確認していきます。
BLOB型はバイナリデータを扱うデータ型で格納できるデータのサイズを指定しません。ただ最大長は決まっており、最大長の種類によって次の4つが用意されています。
TINYBLOB 最長255 (28 - 1) バイト BLOB[(M)] 最長65,535 (216 - 1) バイト MEDIUMBLOB 最長16,777,215 (224 - 1) バイト LONGBLOB 最長4,294,967,295、または4GB (232 - 1) バイト
TEXT型は文字列データを扱うデータ型で格納できるデータのサイズを指定しません。ただ最大長は決まっており、最大長の種類によって次の4つが用意されています。
TINYTEXT 最長255 (28 - 1) バイト TEXT[(M)] 最長65,535 (216 - 1) バイト MEDIUMTEXT 最長16,777,215 (224 - 1) バイト 別名:LONG, LONG VARCHAR LONGTEXT 最長4,294,967,295、または4GB (232 - 1) バイト
BLOG型及びTEXT型はそれぞれ巨大なバイナリデータとテキストデータを格納する時に利用されます。
BLOB型はVARBINARY型で格納できるバイト数を指定しなかったものと考えて頂けば結構です。(VARBINARY型については「BINARY型とVARBINARY型」を参照して下さい)。データはバイナリデータとしてそのまま格納されます。
TEXT型はVARCHAR型で格納できるバイト数を指定しなかったものと考えて頂けば結構です。(VARCHAR型については「CHAR型とVARCHAR型」を参照して下さい)。データは文字列データとして格納されます。
ではBLOB型のカラムとTEXT型のカラムを持つテーブルを作成してみます。
データを格納した後でデータを取得して表示してみます。
巨大なデータを取り扱えるという点を除けばVARBINARY型とVARCHAR型と同じように扱えます。
文字セットと照合順序
TEXT型は文字セットと照合順序を指定することができます。使い方は次の通りです。
TEXT [CHARACTER SET 文字セット] [COLLATE 照合順序]
またASCII属性/UNICODE属性/BINARY属性なども設定することができます。
TEXT ASCII TEXT UNICODE TEXT BINARY
では各属性を設定したテーブルを作成し、テーブル定義を確認してみます。
基本的にVARCHAR型と同じように使うことができます。
( Written by Tatsuo Ikura )