CHAR型
- 固定長の文字列データを扱うデータ型。
- **CHAR(10)**と指定された列の場合、格納される列は常に10バイトになる。
- 10バイトに満たない場合は文字列の右側に空白が追加され、10バイトぴったりに調整される。
VARCHAR型
-
CHAR型
と異なり、格納する文字列の長さの調整はされない。 -
VARCHAR(10)
と指定された列の場合、10バイト以下の文字列でも、それに合わせた領域が確保される為、そのままの長さで格納することが可能。 - ただし、最大長以上(10バイト以上)の文字列の格納はできない。
どう使い分けるか
-
CHAR型
は、郵便番号
や社員番号
など、データの桁数が決まっているもの向け。 -
VARCHAR型
は、氏名
や書籍名
など、データ桁数が変動する可能性のあるもの向け。
その他
MySQLの場合、CHAR/VARCHARともに、()内の数値は格納できる最大文字数。
CHARは0~255まで、VARCHARは0~65535の範囲で指定可能。
参考図書 : スッキリわかるSQL入門