整数类型 | 字节 | 最小值 | 最大值 |
TINYINT | 1 | 有符号-128 /无符号0 | 有符号127 /无符号255 |
SMALLINT | 2 | 有符号-32768 /无符号0 | 有符号32767 /无符号65535 |
MEDIUMINT | 3 | 有符号-8388608 /无符号0 | 有符号8388607 /无符号1677215 |
INT、INTEGER | 4 | 有符号-2147483648 /无符号0 | 有符号2147483647 /无符号4294967295 |
BIGINT | 8 | 有符号-9223372036854775808 /无符号0 | 有符号9223372036854775807 /无符号18446744073709551615 |
浮点数类型 | 字节 | 最小值 | 最大值 |
FLOAT | 4 | ±1.175494351E-38 | ±3.402823466E+38 |
DOUBLE | 8 | ±2.2250738585072014E-308 | ±1.7976931348623157E+308 |
定点数类型 | 字节 | 描述 |
DEC(M,D) /DECIMAL(M,D) | M+2 | 最大取值范围与DOUBLE相同,给定DECIMAL的有效取值范围由M和D决定 |
位类型 | 字节 | 最小值 | 最大值 |
BIT(M) | 1~8 | BIT(1) | BIT(64) |
**注意:**INT是INTEGER的同名词,DEC是DECIMAL的同名词关于整数的可选属性:UNSIGNED:如果需要在字段里面保存非负数或者较大的上限值时,可以用此选项,它的取值范围是正常值的下限取0,上限值取原上限值的2倍
日期和时间类型 | 字节 | 最小值 | 最大值 |
DATE | 4 | 1000-01-01 | 9999-12-31 |
DATETIME | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
TIMESTAMP | 4 | 19700101080001 | 2038年的某个时刻 |
TIME | 3 | -838:59:59 | 838:59:59 |
YEAR | 1 | 1901 | 2155 |
数据类型 | 零值表示 |
DATE | 0000-00-00 |
DATETIME | 0000-00-00 00:00:00 |
TIMESTAMP | 00000000000000 |
TIME | 00:00:00 |
YEAR | 0000 |
注意:每种日期时间类型都有一个有效值范围,如果超出这个范围,在默认的SQLMode下,系统会进行错误提示,并将以零值来进行存储。DATE、TIME、DATETIME是最常用的3种日期类型,TIMESTAMP和DATETIME的表示方法非常类似,区别主要有以下几点:
字符串类型 | 字节 | 描述及存储需求 |
CHAR(M) | M | M为0-255之间的整数 |
VARCHAR(M) | M为0-65535之间的整数,值的长度+1个字节 | |
TINYBLOB | 允许长度0-255字节,值的长度+1个字节 | |
BLOB | 允许长度0-65535字节,值的长度+2个字节 | |
MEDIUMBLOB | 允许长度0-167772150字节,值的长度+3个字节 | |
LONGBLOB | 允许长度0-4294967295字节,值的长度+4个字节 | |
TINYTEXT | 允许长度0-255字节,值的长度+2个字节 | |
TEXT | 允许长度0-65535字节,值的长度+2个字节 | |
MEDIUMTEXT | 允许长度0-167772150字节,值的长度+3个字节 | |
LONGTEXT | 允许长度0-4294967295字节,值的长度+4个字节 | |
VARBINARY(M) | 允许长度0-M个字节的变长字节字符串,值的长度+1个字节 | |
BINARY(M) | M | 允许长度0-M个字节的定长字节字符串 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |