ITblog

MySQLのデータベースのテーブルの型の付け方

2015年07月25日

プログラミングで、データベースのテーブル作成時に考える必要があることが、項目への型の付け方です。

項目に入るのに適した型を付けることでデータベースのデータ量も変わってくるので、なるべく適切な型をつけたいところです。

型の付け方に関しては、以下のサイトの説明が参考になりました。

MySQLのカラム型(有効範囲と必要記憶容量)|MySQL|PHP & JavaScript Room

項目でINT型にするか、SAMALLINT型にするか、TINYINT型にするかなど、それぞれの型でどの大きさの値まで格納出来るかの説明が分かりやすく掲載されています。

例えば数値であってもTEXT型で格納することは可能ですが、型指定ができていにあとソートするときに正しく比較できないこともあるので、正しい型指定をしておくことが推奨されます。

また、MYSQLでは型を指定するときにint(11)などと長さを指定しますが、この意味は、「格納された値が指定した桁数に満たない時に、左側を空白で埋める」という意味だそうで、その意味ではint(100)だろうが特に問題はないようです。
また、オプション属性の ZEROFILL を使用した際に、スペースに代わってゼロが埋め込まれる際の幅だそうです。

基本的には、例えばINTであれば以下の指定で問題ないと思います。

TINYINT(4) -128~127
SMALLINT(6) -32,768~32,767
MEDIUMINT(8) -8,388,608~8,388,607
INT(11) -2,147,483,648~2,147,483,647
BIGINT(20) -9,223,372,036,854,775,808~9,223,372,036,854,775,807

小さい型指定であればそのぶん使用するデータ領域も少なく済みますので、適切な指定が理想的です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です