charとvarcharの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


char と varchar の主な違いは、char は固定長で値を保存し、指定された長さに合わせてスペース文字でパディングされるのに対し、varchar は 1 バイトまたは 2 バイト長のプレフィックスと共に可変長で値を保存し、いかなる文字でパディングされないことである

一般に、RDBMSはリレーショナルモデルに基づいてデータを保存・管理するためのソフトウェアです。

RDBMSはデータベースで構成され、各データベースはテーブルの集合を持つ。

これらのテーブルは、外部キーのような様々な制約を使用して互いに接続されています。

さらに、開発者は構造化照会言語(Structured Query Language、SQL)を使用してデータベース上で操作を行うことができます。

全体として、MySQL は個人および企業レベルで使用される一般的な RDBMS です。

データベースに格納される各データは、特定のデータ型を持っています。

そのうちの 2 つは char と varchar で、どちらも ASCII データ型です。

スポンサーリンク

charとは

charは、固定長のデータまたは文字列を格納するのに役立つデータ型です。

構文はchar[n]です。

  ここで、nは文字列の長さをバイトで表します。

したがって、このデータ型は固定長の値を格納することができます。

長さが定義されたサイズより小さい場合、残りは指定された長さに合うようにスペース文字で埋められる。

また、格納できる最大文字数は255文字です。

文例は次の通りです。

これはstudentというテーブルを作成しています。

さらに、2つの列があり、両方ともchar値を格納することができます。

create table student (firstname char(30),

lastname char(50))を作成します。

varcharとは

varchar は可変長のデータまたは文字列を格納するのに役立つデータ型です。

構文は varchar [(n|max)] です。

ここで、n は文字列の長さをバイトで表し、max は最大記憶サイズを表します。

したがって、このデータ型は、1またはバイト長の接頭辞とともに可変長のデータを格納することが可能である

charと異なり、文字によるパディングはない。

また、最大65535文字まで格納可能である

例として、次のようなステートメントがあります。

これはstudentというテーブルを作成する。

さらに、2つの列があり、両方ともvarchar値を格納することができる。

create table student (firstname varchar(20),

lastname varchar(50))を作成します。

char と varchar の違い

定義

charとvarcharの主な違いは、charは文字を格納するのに役立つSQLで利用可能なデータ型であり、varcharは可変文字を格納するのに役立つSQLで利用可能なデータ型であることです

の略です。

char’が文字であるのに対し、’varchar’は可変文字であることを示す。

主な機能

また、「char」は固定長で値を格納するのに対し、「varchar」は1バイトまたは2バイト長のプレフィックスを付けて可変長のロングで値を格納します。

したがって、この点もcharとvarcharの違いとなります。

最大文字数

さらに、’char’が最大255文字を保持するのに対して、’varchar’は最大65535文字を保持する。

メモリ割り当て

さらに、charとvarcharのもう一つの違いは、charが静的なメモリ割り当てを使用するのに対して、varcharは動的なメモリ割り当てを使用することです。

使用方法

プログラマは、列データエントリのサイズが一定であれば char を使用することができる。

一方、プログラマは、カラムデータのエントリのサイズが大きく変化する場合、varchar を使用することができる。

結論

簡単に言うと、MySQL は広く使われている RDBMS です。

データベースに格納されている各データは、特定のデータ型を持っています。

そのうちの 2 つは char と varchar です。

  char と varchar の主な違いは、char は固定長の値を格納し、指定された長さに合わせてスペース文字でパディングされるのに対し、varchar は 1 バイトまたは 2 バイト長のプレフィックスと共に可変長の値を格納し、いかなる文字もパディングされないという点です。

簡単に言えば、charは固定長のデータを表し、varcharは可変長のデータを表します。

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