【MySQL】数値型:integer,int,tinyint,mediumint,smallint,bigint
ここではMySQLで、数値型(integer,int,tinyint,mediumint,smallint,bigint)について紹介しています。
数値型(整数)の一覧
型名 | サイズ | 値の範囲(符号あり) | 値の範囲(符号あり) | 補足 |
integer | 4バイト | -2147483648~2147483647 | 0~4294967295 | |
int | 4バイト | -2147483648~2147483647 | 0~4294967295 | integerの別名 |
tinyint | 1バイト | -128~127 | 0~255 | |
mediumint | 3バイト | -8388608~8388607 | 0~16777215 | |
smallint | 2バイト | -32768~32767 | 0~65535 | |
bigint | 8バイト | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
UNSIGNEDオプション
データ型を宣言するとき、UNSIGNEDオプションを指定することで、符号なしの範囲で値を扱うことが出来ます。
次のSQLでは、COL3列にUNSIGNEDオプションを指定します。
CREATE TABLE tab(
col1 varChar(10)
,col2 int
,col3 int unsigned
);
ZEROFILLオプション
データ型を宣言するとき、ZEROFIILLオプションを指定することで、桁数を0埋めすることが出来ます。
次のSQLでは、COL2列はINT型、COL3列はINT型にZEROFILLオプションを指定しています。
mysql> CREATE TABLE tab(col1 varChar(10),col2 int,col3 int zerofill);
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO tab VALUES('00001',1,1);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM tab;
+-------+------+------------+
| col1 | col2 | col3 |
+-------+------+------------+
| 00001 | 1 | 0000000001 |
+-------+------+------------+
1 row in set (0.00 sec)
COL2列の値はそのまま1ですが、COL3列の値は上位の桁数が0埋めされてました。