类型 | 范围 | 字节/位 | 备注 |
char | 1~255 | 受编码格式影响,若为gbk,每个字符占2个字节,若为utf-8,每个字符最多占用3个字节 | utf-8下一个字符占用1至3个字节,字符长度固定 |
varchar | 1~65535 | 受编码格式影响 | 最多能存放65535个字节,可变长度,可以设置最大长度 |
text | 受编码格式影响 | 最多能存放65535个字节 | |
mediumtext | 受编码格式影响 | 最多能存放16777215个字节 | |
longtext | 受编码格式影响 | 最多能存放4294967395个字节(4G) | |
tinyint | -128~127 | 1 | 可设置位数 |
smallint | -32768~35767 | 2 | |
mediumint | -8388608~8388607 | 3 | |
int | -2147483648~2147483647 | 4 | |
bigint | -9223372036854775808~ 9223372036854775807 | 8 | |
float(X) | -3.402823466E+38~ -1.175494351E-38, 0, 1.175494351E-38~3.402823466E+38 | 4(X < = 24) 或 8( 25 < = X < = 53 ) | |
double | -1.7976931348623157E+308~ -2.2250738585072014E-308, 0, 2.2250738585072014E-308~ 1.7976931348623157E+308 | 8 | |
decimal[(M,[D])] | 由M(整个数字的长度,包括小数点,小数点左边的位数,小数点右边的位数,但不包括负号)和D(小数点右边的位数)来决定,M缺省为10,D缺省为0 | M字节(D+2 , 如果M < D) | |
date | 1000-01-01~9999-12-31 | 3 | |
datetime | 1000-01-01 00:00:00~ 9999-12-31 23:59:59 | 8 | |
timestamp | 1970-01-01 00:00:01~ 2038-01-09 03:14:07 | 4 | |
year[(2|4)] | 缺省为4位格式,4位格式取值范围为1901 - 2155,0000,2位格式取值范围为70-69(1970-2069) | 1 | |
enum | 最多可以有65535个不同的值 | 1 或 2 个字节, 取决于枚举值的数目(最大值65535) | |
set | 最多可以有64个成员 | 1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员) |