んだ日記

ndaDayoの技術日記です

【メモ】CHARとVARCHAR 

んだです。メモです。

MySqlの勉強がてら始めた「SQLパズル」 まだパズル2問目ですが、書き方も考え方も学べて面白いっす。

パズルを解きながら、気になった点をメモっていきます

CHARとVARCHAR 

CHARもVARCHARも、文字列の型。

ちなみに、MySQlの文字列の方には、これ以外に

BINARY
VARBINARY
BLOB
TEXT
ENUM
SET

がある。

CHARは、固定長文字列

固定長文字列は、カラムに入る文字列の長さを固定するということ

たとえば、CHAR(4)と指定した場合は、そのカラムに入るのは4文字固定。

なので、 CHAR(4)と指定した場合 、4文字までしか入らない。

4文字以上をInsertしようとした場合

Data too long for column

とエラーになる。

逆に、短く

'ab'

とinsertすると、残りの2文字は指定された長さになるように右側がスペースで埋まる。

CHARの使いどころ

郵便番号や社員番号、バーコードなど文字の長さが決まっているデータに対しては有効

固定長のため、検索時等CPU負荷を軽減できる。

VARCHARは、可変長文字列

可変長なので、文字列の長さに合わせてデータが保存される。

ちなみに、長さの情報を255バイトまでは1バイト,それ以上は2バイト余分に使って保存される。

CHARと同じように

VARCHAR(255)

とか()の中で最大文字数を設定する。

設定できる値は、0文字以上65,535文字以下

VARCHARの使いどころ

データの長さが変更する可能性があるもの。

以上。