MySQL(MariaDB) - 整数型の範囲!
Updated:
データベースサーバ MySQL(MariaDB) の整数型の範囲について、よく参照するのでメモとして残しておきます。
1. 整数型範囲一覧
タイプ | サイズ(byte) | 最小値 (Signed/Unsigned) |
最大値 (Signed/Unsigned) |
---|---|---|---|
TINYINT | 1 | -128 0 |
127 255 |
SMALLINT | 2 | -32768 0 |
32767 65535 |
MEDIUMINT | 3 | -8388608 0 |
8388607 16777215 |
INT | 4 | -2147483648 0 |
2147483647 4294967295 |
BIGINT | 8 | -9223372036854775808 0 |
9223372036854775807 18446744073709551615 |
2. 注意
Mysql(MariaDB) では、 INT(4)
のように型指定の後に整数値を指定できるが、これは「バイト数」ではなく「表示桁数」である。
INT(4)
などと数字を指定したからと言って、カラムに格納できる値の範囲が制限されたりすることはない。
つまり、 INT(4)
と指定しても、実際には11桁(INT型の最大値)まで登録できる。
では、 (?)
のカッコ内の数字は何なのか?
オプション属性の ZEROFILL を使用すると、足りない桁は 0
(ゼロ) が埋め込まれる(ゼロパディングされる)。 (?)
のカッコ内の数字は、その際の桁数である。
INT(4) ZEROFILL
に 9
という数字を格納すると 0009
と表示されるということ。
参考サイト
- MySQL :: MySQL 5.6 Reference Manual :: 11.2 Numeric Types
- MySQL :: MySQL 5.1 リファレンスマニュアル :: 10.2 数値タイプ
テーブル設計する際によく参照するので記録しておいた次第です。
以上。
Comments