一、mysql的数据类型主要有三大类
字符串类型还有varchar和char类型。
二、整形
mysql的整形有以下几种。
注意:unsigned不写就表示有符号。
对于第二个zerofill
也就是说没有达到最小宽度的数值,就用零来填充。超过了最小宽度的也不会截取掉。
注意:tinyint(2)表示显示最小宽度。
注意:对于bool类型,mysql数据库不支持布尔类型,可以用tinyint(1)来表示。
三、浮点数类型
1、float类型(单精度浮点数)
2、double类型(双精度浮点数)
由于float类型只占四个字节,因此精度很差,double类型占8个字节精度大大提高。
可见float类型的精度很差。但是并没有损失位数。
float,double都支持Type(M D)类型
例如:
除此之外浮点数还可以用科学计数法来表示。同样受M,D位数控制
例如
3、decimal(定点数)
定点数在超过长度后按四舍五入发截取。上图第三个插入。
对于定点数和浮点数所占用的空间,肯定是定点数占用空间较大。因为定点数存的多,占用空间大。
注意:定点数支持zerfull
定点数也支持unsigned无符号。
但是浮点数用unsigned后取值范围就会扩大一倍,但对于定点数来说没有扩大,只是逻辑上没有负数了
区别:浮点数和定点数的区别是:浮点数有受所占空间字节限制,只能表示空间内能表示的最大值,定点数表示的范围很大。