【データ型について】



このHPはデータ型についてまとめたものです。



1-1 データ型

リレーショナルデータベースでは、その列にどの様なデータが入るのか、あらかじめ決めておく必要がある。 列に入れるデータの種類のことを「データ型」と呼び、すべての列に必ず指定する。「データ型」はデータの種類を表し、「数値型」や「文字列型」、「日付型」などがある。

テーブルを作成するときに、各列のデータ型と、入れるデータの長さを設定する。また、1つの列には1つのデータ型しか設定できない。



1-2 データ型の種類


データ型には、非常にたくさんの種類があり、RDBMSごとにかなり違う。最も基本的なデータ型は次にあげる5つのデータ型。


◆INTEGER型

整数を扱う型。小数点以下の数字は入力できない。正の数のみ扱うか、正負両方を扱うかは設定で決める。


◆CHAR型

文字列型の一つで、文字列を記憶できるデータ型。文字列型では、その列に収められる最大のデータ長をしていしなければならない。CHAR(30)としてデータ型を指定した場合、30文字の文字列を記憶できる。最大長を超える長さの文字列は入らない。

CHAR型の列には、「固定長文字列」という形で文字列が格納される。
固定長文字列では、列に入れる文字列の長さが最大長に満たない場合、文字数が最大長になる前で空きを半角スペースで埋める。
長さの単位はRDBMSにより異なり、文字数であるとバイト長である場合がある。
例えば、CHAR(6)の列に'XYZ'という文字列を入れたとすると、'XYZ●●●'(XYZの後ろに半角スペースが3つ)という形で格納される。なお、テーブルに格納した文字列については大文字・小文字が区別される。


◆VARCHAR型

CHAR型と同じく文字列を入れる列に指定するデータ型(文字列型)で、列の中に入れることのできる文字列の長さ(最大長)をカッコで指定する。
CHAR型とは異なり、実際のデータの大きさにより、データベースの記憶領域の大きさが変化する。

そのため、「可変長文字列」と呼ばれるデータ型になる。
また、固定長文字列では、文字数が最大長に満たない場合に半角スペースで埋めていたが、可変長文字列文字数が最大長に満たなくても、半角スペースで埋めない。VARCHAR(6)の列に'XYZ'という文字列を入れた場合、データはそのまま'XYZ'。なお、格納した文字列の大文字・小文字が区別されることは「CHAR型」と同じ。


◆DATE型

日付(年月日)を入れる列に指定するデータ型(日付型)。文字列や型に合わない数字(2019-13-34等の値)は入らない。

◆TIME型

時刻の値を記憶できるデータ型。「10時20分30秒」の様に、時分秒のデータを記憶できる型。