整数类型
类型 | 名称 | 大小 | 范围(有符号) | 范围(无符号) |
---|---|---|---|---|
tinyint | 极小整数值 | 1字节 | -128~127 | 0~256 |
smallint | 小整数值 | 2字节 | -32768~32767 | 0~65535 |
mediumint | 中等整数值 | 3字节 | -8388608~8388607 | 0~16777215 |
int | 整数值(基本数据类型) | 4字节 | -2147483648~2147483647 | 0~4294967295 |
integer | 整数值(引用数据类型) | 4字节 | -2147483648~2147483647 | 0~4294967295 |
bigint | 极大整数值 | 8字节 | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
int 和 integer 区别
- 数据类型不同。int 是基本数据类型,是对 integer 的拆箱;integer 是引用数据类型,是对 int 的装箱
- 字段默认值不同。在设置字段的默认值时,int 的默认值是 0 ,integer的默认值是 null;
- 存储不同。int 作为对象,可以直接存储数值;integer 需要实例化对象,实际上是生成一个指针指向对象的地址
浮点数类型
类型 | 名称 | 大小 | 范围(有符号) | 范围(无符号) |
---|---|---|---|---|
float | 单精度浮点数值 | 4字节 | -3.402823466E+38~-1.175494351E-38 | 0 和 -1.175494351E-38~-3.402823466E+38 |
real | 不精确的双精度浮点型 | 4字节 | -3.40E+38~-1.18E-38 | 0和1.18E-38~3.40E+38 |
double | 双精度浮点数值 | 8字节 | -1.7976931348623157E+308~-2.2250738585072014E-308 | 0 和 -2.2250738585072014E-308~-1.7976931348623157E+308 |
字符串类型
类型 | 名称 | 大小 |
---|---|---|
char | 定长字符串 | 0~255字节 |
varchar | 变长字符串 | 0~65535字节 |
bit(M) | 位字段 | (M+7)/ 8字节 |
binary(M) | 定长二进制字符串 | M字节 |
varbinary(M) | 变长二进制字符串 | (M+1)字节 |
tinyblob | 较短的二进制字符串 | 0~255字节 |
blob | 二进制字符串 | 0~65535字节 |
mediumblob | 中等长度的二进制字符串 | 0~16777215字节 |
longblob | 较长的二进制字符串 | 0~4294967295字节 |
tinytext | 短文本字符串 | 0~255字节 |
text | 文本字符串 | 0~65535字节 |
mediumtext | 中等长度的文本字符串 | 0~16777215字节 |
longtext | 极大长度的文本字符串 | 0~4294967295字节 |
日期类型
类型 | 名称 | 大小 | 格式 | 范围 |
---|---|---|---|---|
date | 年月日 | 3字节 | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
time | 时分秒 | 3字节 | HH:MM:SS | ‘-838:59:59’ ~ ‘838:59:59’ |
year | 年份 | 1字节 | YYYY | 1901 ~ 2155 |
datetime | 年月日时分秒 | 8字节 | YYYY-MM-DD hh:mm:ss | ‘1000-01-01 00:00:00’ ~ ‘9999-12-31 23:59:59’ |
timestamp | 年月日时分秒 | 4字节 | YYYY-MM-DD hh:mm:ss | ‘1970-01-01 00:00:01’ UTC ~ ‘2038-01-19 03:14:07’ UTC |
集合类型
类型 | 名称 | 数量 | 属性 |
---|---|---|---|
enum | 枚举 | 20个以内 | 字符串对象 |
set | 无序集合 | >=0个 | 字符串对象 |