CHARとVARCHARの違い

VARCHARとはVARiable CHARacterのことです!
※variableとは「可変」の意味です。

CHARは固定長、VARCHARは可変長

7文字の英数字のコードといったように、長さが決まっていればCHAR、
住所などのように、データによって長さが違う場合はVARCHARを使うと良いようです。

公式サイトで確認しておきましょう!

10.4.1. CHAR と VARCHAR タイプ

MySQL :: MySQL 8.0 リファレンスマニュアル :: 11.3.2 CHAR および VARCHAR 型

例えば、VARCHAR(4)の場合、「a」1文字を格納するのに2バイト必要なのに対し(1バイトでなく、2バイトなのは、長さを記録するのに1バイト使用しているから)、CHAR(4)の場合「a」1文字を格納するのに4バイト必要となります。

CHARは値が格納された時、指定された長さになるよう、右側が詰めることに注意しましょう。
VARCHAR(4)に「a」を格納すると、「a    」としてスペースが挿入されます。

なお、CHAR値が検索された際には、後続スペースは削除されます。

タイトルとURLをコピーしました