【これだけ】MySQLの特殊なデータ型【現役エンジニアが解説】

PROGRAM

今回は、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のデータを格納することができるため、メディアのデータベースに実用的なデータ型と言えるでしょう。