1>数据类型
1.1>数值类型
-->整型:tinyint,smallint,mediumint,int,bigint
-->小数:float,double,decimal(内部原理是以字符串形式存储)
各类型保存的整数数据范围如下:
tinyint默认为有符号,即数字前有正负号;若要设置为无符号的,需用unsigned参数
int默认为有符号,bigint也一样。
如,create table t2(x tinyint unsigned);
注意:指定整型类型时,后面均不必指定‘宽度’,如直接写int,而不用写int(4),因为整型的这个宽度与
其他类型不同,这里为显示宽度,比如这里设置了4,默认设定成4个字符的宽度,当超出就自动加宽,所以,
这个设定基本没有意义,而且还容易坑人。
小数型类型的用法如下,
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。m最大值为255,d最大值为30
随着小数的增多,精度变得不准确
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
双精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。m最大值为255,d最大值为30
随着小数的增多,精度比float要高,但也会变得不准确
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。
对于精确数值计算时需要用此类型,decaimal能够存储精确值的原因在于其内部按照字符串存储。