MySQL の文字列型

ここでは MySQL の文字列のデータ型についてご説明します。

MySQL の文字列のデータ型

MySQL の基本の文字列のデータ型には次のようなものがあります。

データ型説明
CHAR(M)固定長の文字列型。M には 0 ~ 255 の数字を長さとして指定します。 CHAR(6) のデータ型でカラムや変数を定義して、2 文字を保存した時は右側に 4 文字の空白文字が入ります。
VARCHAR(M)可変長の文字列型。M には 0 ~ 最大 65,535 までの数字が長さとして指定できますが、テーブルの全カラムの長さの合計が 65,535 なので、実際の最大値は他のカラムの長さに依存します。 CHAR 型と違い、指定した長さより短い長さの文字列を保存しても、空白が右側に入ることはありません。
BINARY(M)固定長のバイナリー文字列型。CHAR 型と似ていますが、普通の文字列ではなく、バイナリ文字列保持する型です。M の数字はバイト数での長さが入り、省略すると 1 になります。
VARBINARY(M)可変長のバイナリー文字列型。VARCHAR 型と似ていますが、普通の文字列ではなく、バイナリ文字列を保持する型です。M の数字はバイト数での最大の長さが入ります。
BLOBサイズの大きなバイナリの値を保存するためのデータ型。サイズによって TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB があります。
TEXTサイズの大きな文字列の値を保存するためのデータ型。サイズによって TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT があります。
ENUM(値1,値2,...)文字列ですが、定義した時に指定した候補の値しか保存できないデータ型です。例えば gender ENUM('F','M') と定義した時には gender カラムには 'F' か 'M' か NULL しか保存できません。
SET(値1,値2,...)ENUM に似ていますが、こちらは候補の中から複数の値が保存可能です。例えば column1 SET('a', 'b', 'c') のように定義した場合は、column1 には 'a,b' や 'a,b,c' のような値も保存できます。

全体的に一番よく使われるのは VARCHAR 型で、BLOB と TEXT はファイルや画像などを保存するのによく使われます。

カラムのデータの長さは、基本的に保存する可能性のある最大の長さを考慮した上で、できるだけ小さいものを選ぶのが良いとされています。


以上、MySQL の基本の文字列のデータ型についてご説明しました。

© 2024 MySQL 入門