MySQL的数据类型
Posted zengsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的数据类型相关的知识,希望对你有一定的参考价值。
1、数值类型
1、整型
1、int 大整型(4个字节)
取值范围 :0 ~ (2**32 - 1(42亿多))
2、tinyint 微小整型(1个字节)
1、有符号(signed默认) : -128 ~ 127
2、无符号(unsigned) : 0 ~ 255
例子:age tinyint unsigned,
3、smallint 小整型(2个字节)
4、bigint 极大整型(8个字节)
2、浮点型
1、float(4个字节,最多显示7个有效位,如果超过7的话,不会报错,但存进去的数在第7位之后会不正确)
1、用法
字段名 float(m,n) m->总位数 n->小数位位数
float(5,2)取值范围? -999.99 ~ 999.99
2、double(8个字节)
字段名 double(m,n)
3、decimal(最多显示28个有效位)
1、decimal(m,n)
2、存储空间(整数、小数分开存储)
规则:将9的倍数包装成4个字节
余数 字节
0 0
1-2 1
3-4 2
5-6 3
7-9 4
例:decimal(19,9)
一个浮点型为10为整数,9位小数:
整数部分:10/9=1余1 4字节+1字节 = 5字节
小数部分:9/9=0 4字节+0字节 = 4字节
总共占有:5字节 + 4字节 = 9字节
2、字符类型
1、char(定长)
1、取值范围:1~255
2、varchar(变长)
1、取值范围:1~65535
3、text / longtext(4G) / blob / longblob(4G)
4、char和varchar的特点
1、char :浪费存储空间,性能高
2、varchar :节省存储空间,性能低
5、字符类型的宽度和数值类型宽度的区别
1、数值类型宽度为显示宽度,只用于select查询是显示,
和占用存储无关,可用zerofill查看效果。
2、字符类型的宽度超过后无法存储
3、枚举类型
1、单选enum
sex enum(值1, 值2,.....)
2、多选set
likes set(值1, 值2,....)
以上是关于MySQL的数据类型的主要内容,如果未能解决你的问题,请参考以下文章