この記事では MySQL で データベースの物理設計を行う際に参照する資料をまとめています。この資料の情報は MySQL 5.6.4 以降に対応しています。
データ型
整数
Type |
Bytes |
Minimum Value |
Maximum Value |
TINYINT |
1 |
-128 |
127 |
TINYINT UNSIGNED |
1 |
0 |
255 |
SMALLINT |
2 |
-32,768 |
32,767 |
SMALLINT UNSIGNED |
2 |
0 |
65,535 |
MEDIUMINT |
3 |
-8,388,608 |
8,388,607 |
MEDIUMINT UNSIGNED |
3 |
0 |
16,777,215 |
INT |
4 |
-2,147,483,648 |
2,147,483,647 |
INT UNSIGNED |
4 |
0 |
4,294,967,295 |
BIGINT |
8 |
-9,223,372,036,854,775,808 |
9,223,372,036,854,775,807 |
BIGINT UNSIGNED |
8 |
0 |
18,446,744,073,709,551,615 |
実数
Type |
Bytes |
Precision |
FLOAT(p) |
4(0<=p<=24), 8(25<=p<=53) |
0-53 |
FLOAT |
4 |
0-24 |
DOUBLE |
8 |
24-53 |
DECIMAL |
*1 |
|
文字列、バイナリ
Type |
Max Size (Bytes) |
CHAR |
255 |
VARCHAR |
255 |
BINARY |
255 |
VARBINARY |
255 |
TINYTEXT |
255 |
TEXT |
65,535 |
MEDIUMTEXT |
16,777,215 |
LONGTEXT |
4,294,967,295 |
TINYBLOB |
255 |
BLOB |
65,535 |
MEDIUMBLOB |
16,777,215 |
LONGBLOB |
4,294,967,295 |
日付/時刻
Type |
Bytes |
データ範囲 |
DATE |
3 |
‘1000-01-01’ ~ ‘9999-12-31’ |
DATETIME |
5-8 |
‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’ |
TIMESTAMP |
4-7 |
‘1970-01-01 00:00:00’ ~ 2037 年 |
TIME |
3-6 |
‘-838:59:59’ ~ ‘838:59:59’ |
YEAR[ 2 | 4 ] |
1 |
2桁: 1970 ~ 2069 4桁(デフォルト): 1901 ~ 2155、 0000
|
参考