【これだけ】MySQLの特殊なデータ型【現役エンジニアが解説】
今回は、MySQLの特殊なデータ型について、巨大な文字列や数値、バイナリのデータに分け、簡単に解説していきます。
巨大な文字列のデータ
MySQLで文字列のデータを格納する際は、VARCHAR型を利用する機会が多いと思います。
VARCHARは可変長の文字列型のため、テーブル作成時に上限の文字数を設定する必要があります。
この上限文字数は65,535文字となっているため、これ以上の巨大な文字列のデータを格納することはできません。
もし65,535文字を超えて格納したい場合はVARCHAR型ではなく、また別のデータ型であるMEDIUMTEXT型を利用すると良いでしょう。
MEDIUMTEXT型では、16,777,215文字を格納でき、さらにLONGTEXT型であれば4,294,967,295文字も格納することができるようになります。
巨大な数値のデータ
MySQLで数値のデータ型を設定する際は、通常はINT型を利用すると思います。
しかし、INT型では、-2,147483,648から2,147,483,648までの数値しか保存することができません。
これでも十分過ぎると思うかもしれませんが、ビジネスの世界では意外と足りない局面が多いです。
そのような場合には、BIGINT型を利用することで、-9,223,372,036,854,775,808から9,223,372,036,854,775,808までの数値を保存することができるようになります。
バイナリのデータ
画像や動画等のMySQLにそれ専用のデータ型のないものに関しては、バイナリデータとして保存すると良いでしょう。
バイナリデータのデータ型はVBINARY型というものとBLOB型というものの2種類があり、前者は上限バイト数を指定、後者は指定しないバイナリデータ型です。
ただし、上限バイト数を指定しないBLOB型であっても、最大長は65,535バイトとなり、メディアデータは格納しづらいため、MEDIUMBLOBやLONGBLOB型を利用すると良いでしょう。
前者は16,777,215、すなわち約16MBのデータを格納でき、後者は4,294,967,295、すなわち約4GBのデータを格納することができるため、メディアのデータベースに実用的なデータ型と言えるでしょう。