簡単な結論
あらかじめ用意した箱のサイズに合わせて中身を入れるか、箱の中身のサイズに合わせて用意するかの違いである
CHAR型
・固定長の文字列
を扱うデータ型
・CHAR(10)と指定されている場合、10バイトの領域が確保されており、常に格納するデータは10バイトになる
・10バイトに満たない場合、空白が追加される
例)CHAR(3)の箱に【男性】
男性□
VARCHAR型
・可変長の文字列
を扱うデータ型
・CHAR型
と異なり、文字列の長さは調整されない
・VARCHAR(10)としていされた列に3バイトや7バイトの文字列が入力された場合、それに合わせた領域が確保される
・VARCHAR(10)としている場合、11バイト以上の文字列は格納できない
使い分け
□CHAR型
郵便番号
や社員番号
など
□VARCHAR型
氏名
や書籍名
など
参考書籍
すっきりわかるSQL入門