【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文を使用して変更する必要があります
これらの型の選択は必要なデータの性質によって異なります
データの範囲や精度、整数か浮動小数点かなどを考慮して、最適な型を選ぶようにしてください!!
ではっ
是非フォローしてください
最新の情報をお伝えします