十、MySQL基础系列笔记之数据类型
每一个常量、变量和参数都是数据类型,用来指定一定的存储格式、约束和有效范围。
MySQL提供的数据类型有数值型、字符串类型、日期类型、时间类型。
整数类型
类型名称 | 字节 | 有符号(最小值) | 无符号(最大值) | 说明 |
---|---|---|---|---|
tinyint | 1 | -128~127 | 0~255 | 很小的整数 |
smallint | 2 | -32768~32767 | 0~65535 | 小的整数 |
mediumint | 3 | -8388608~8388607 | 0~16777215 | 中等大小的整数 |
int | 4 | -2147483648~2147483647 | 0~4294967295 | 普通大小的整数 |
bigint | 8 | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
浮点型
类型名称 | 字节 | 说明 |
---|---|---|
float | 4 | 单精度浮点数 |
double | 8 | 双精度浮点数 |
decimaal(m,d) | M+2个字节 | 定点数 |
float类型取值范围
1)有符号取值范围:-3.402823466E+38~-1.175494351E-38
2)无符号取值范围:0和1.175494351E-38~3.402823466E+38
double类型取值范围
1)有符号取值范围:-1.7976931348623157E+308~-2.2250738585072014E-308
2)无符号取值范围:0和2.2250738585072014E-308~1.7976931348623157E+308
字符串类型
类型名称 | 字节 | 说明 |
---|---|---|
char(m) | m,m为0~255之间的整数 | 固定长度非二进制字符串 |
varchar(m) | m,m为0~65535之间的整数 | 变长非二进制字符串 |
tinytext | 允许长度0~255字节,值的长度+2个字节 | 非常小的非二进制字符串 |
text | 允许长度0~65535字节,值的长度+2个字节 | 小的非二进制字符串 |
mediumtext | 允许长度0~167772150字节,值的长度+3个字节 | 中等大小非二进制字符串 |
longtext | 允许长度0~224字节,值的长度+4个字节 | 大的非二进制字符串 |
enum | 1或2个字节,取决于枚举值的数目(最大值65535) | 枚举类型,只能有一个枚举字符串值 |
set | 1,2,3,4或8个字节,取决于集合成员的数量(最多64个成员) | 一个设置,字符串对象可以有0个或多个成员 |
二进制字符串类型
类型名称 | 字节 | 说明 |
---|---|---|
bit(m) | 约(m+7)/8个字节 | 位字段类型 |
binary(m) | m个字节 | 固定长度二进制字符串 |
varbinary(m) | m+1字节 | 变长二进制字符串 |
tinyblob(m) | m+1字节,m<255 | 非常小的blob |
blob(m) | m+2字节,m<65535 | 小的blob |
mediumblob(m) | m+3字节,m<167772150 | 中等大小的blob |
longblob(m) | m+4字节,m<232 | 非常大的blob |
日期与时间类型
类型名称 | 字节 | 日期格式 | 范围 | 说明 |
---|---|---|---|---|
year | 1 | YYYY | 1901~2155 | |
time | 3 | HH::MM::SS | -838:59:59~838:59:59 | |
date | 3 | YYYY-MM-DD | 1000-01-01~9999-12-3 | |
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 |
JSON类型
JSON实际是JavaScript的一个子集,支持的数据类型有NUMBER、STRING、BOOLEAN、NULL、ARRAY、OBJECT。
2020-10-11
请登录后再评论