【MySQL】テーブルを作成する時の型選択が迷う…数字を扱う時はどうすべき?!

MySQLでテーブルを作成する際にカラムの型を選ぶ際には、データの性質やサイズ、範囲などを考慮する必要があります

以下は一般的な数値型の選択ガイドラインです

TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT

  • TINYINT
    1バイトで-128から127(符号あり)または0から255(符号なし)の整数を格納できます
  • SMALLINT
    2バイトで-32,768から32,767(符号あり)または0から65,535(符号なし)の整数を格納できます
  • MEDIUMINT
    3バイトで-8,388,608から8,388,607(符号あり)または0から16,777,215(符号なし)の整数を格納できます
  • INT
    4バイトで-2,147,483,648から2,147,483,647(符号あり)または0から4,294,967,295(符号なし)の整数を格納できます
  • BIGINT
    8バイトで-9,223,372,036,854,775,808から9,223,372,036,854,775,807(符号あり)または0から18,446,744,073,709,551,615(符号なし)の整数を格納できます

上記を把握したうえで、使用する整数の範囲に合わせて適切な型を選びます
余計な容量を使わないようにします

FLOAT, DOUBLE

  • FLOAT
    4バイトで単精度浮動小数点数を格納できます
  • DOUBLE
    8バイトで倍精度浮動小数点数を格納できます

浮動小数点数は小数点以下の精度が必要な場合に使用します
しかし、精度の損失が発生する可能性がありますので、使用する際には注意が必要です

DECIMAL

固定小数点数を格納できます
DECIMALは正確な小数の計算が必要な場合に使用されます

金額や計算において丸め誤差が受け入れられない場合、DECIMALが適しています

ENUM

列挙型
指定された値のいずれか一致する値のみ格納できます

列挙型は事前に定義された値の中から選択する必要があり、追加の値が必要な場合にはALTER文を使用して変更する必要があります


これらの型の選択は必要なデータの性質によって異なります
データの範囲や精度、整数か浮動小数点かなどを考慮して、最適な型を選ぶようにしてください!!

ではっ

是非フォローしてください

最新の情報をお伝えします