本文根据 腾讯云 MySql 的可视化界面中的类型选择,分类和排序
关于 MySQL的数据类型 如何转换为 对应的语言数据类型,看字节数就可以了
数字
类型名称 | 大小(字节) | 描述 |
---|
tinyint | 1 | |
smallint | 2 | |
mediumint | 3 | |
int | 4 | |
bigint | 8 | |
float | 4 | |
double | 8 | |
real | 默认(8) | 默认double,可改成float |
bit | | |
boolean | 1 | true , false, tinyint(1) |
serial | | |
decimal(M,D) | | 在下面单独描述 |
decimal(M,D)
M是最大位数(精度)
D是小数点右边的位数(小数位)
- DECIMAL(M,D)中,M范围是1到65,D范围是0到30。
- M默认为10,D默认为0,D不大于M。
- DECIMAL(5,2)可存储范围是从-999.99到999.99,超出存储范围会报错。
- 存储数值时,小数位不足会自动补0,首位数字为0自动忽略。
- 小数位超出会截断,产生告警,并按四舍五入处理。
日期
类型名称 | 大小(字节) | 描述 | 最小值 | 最大值 |
---|
data | 3 | YYYY-MM-DD | 1000-01-01 | 9999-12-03 |
datatime | 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:00 UTC | 2038-01-19 03:14:07UTC |
time | 3 | HH:MM:SS | -838:59:59 | 838:59:59 |
year | 1 | YYYY或YY | 1901 | 2155 |
文本
类型名称 | 长度范围(x) | 大小(字节) | 描述 |
---|
char(M) | [0,255] | M(根据字符集计算) | 固定长度,M是字符,不同字符集占用不同大小 |
varchar(M) | [0,65535] | M(根据字符集计算)+1 | 可变长度,M是字符 |
tinytext | [0,255] | x+2 | 小文本、可变长度 |
text | [0,65535] | x+2 | 文本、可变长度 |
mediumtext | [0,16777215] | x+3 | 中等文本、可变长度 |
longtext | [0,4294967295] (4GB) | x+4 | 大文本、可变长度 |
binary(M) | [0,255] | M | 二进制固定长度,M是字节 |
varbinary(M) | [0,65535] | M | 二进制可变长度,M是字节 |
tinyblob | [0,255] | x+1 | 二进制可变长度 |
blob | [0,65535] (64KB) | x+2 | 二进制可变长度 |
mediumblob | [0,16777215] (16MB) | x+3 | 二进制可变长度 |
longblob | [0,4294967295] (4GB) | x+4 | 二进制可变长度 |
enum | [1,65535] | 1或2 | 单选;[1,255]个成员需要1字节,[256,65535]个成员需要2字节 |
set | [0,64] | 1或2或3或4或8 | 多选; [a,b]大小;[1,8]1,[9,16]2,[17,24]3,[25,32]4,[33,64]8 |
json | | | 可以通过“->”和“->>”符号,从JSON字段中查询出指定的JSON数据的值 |
空间
类型名称 | 大小(字节) | 描述 |
---|
geometry | | |
point | | |
linestring | | |
polygon | | |
multipoint | | |
multilinestring | | |
multipolygon | | |
geometrycollection | | |
抱歉宝贝,我是一个不负责的男人~所以用不到的懒得去查,哈哈
这篇博客讲的蛮不错的,他是个负责的男人~