0)登录数据库
1)插入数据到 intdata 表中
INSERT INTO intdata VALUES(1,1,1);
2)查看数据库
mysql> SELECT * FROM intdata;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 1 | 1 |
+------+------+------+
1 row in set (0.00 sec)
3)插入的数据如果超出自己设定的长度,但不超过系统的默认长度,还是可以插入的;比如:人为设定 int 型 4 个长度,插入 111111 六个 1 ;依然可以插入;因为系统默认的 int 类型为 11 个长度;
5) 如果插入值的精度高于实际定义的精度,系统会自动进行四舍五入处理,使值的精度达到要求。不同的是,FLOAT型和DOUBLE型在四舍五入时不会报错,而DECIMAL型会有警告
如float(6,2) double(6.2) decimal(6,2)
对应插入
3.143 3.145 3.1434(注意M+2,小数点只有两位,但要加上两位)
得到的结果
3.14 3.15 3.14
其中decimal会有警告
通过show warnings;查看
6)如果不指定精度,浮点数和定点数尤其默认的精度。FLOAT型和DOUBLE型默认会保存实际精度,但这与操作系统和硬件的精度有关;DECIMAL型默认整数位为10,小数位为0,
比如 5)中的 decimal 型就会变成 3 ,小数点都的统统截掉
7)在MYSQL中,定点数以字符串形式存储。因此,其精度比富点数要高。而且,浮点数会出现误差,这是浮点数一直存在的缺陷。如果要丢数据的进度要求比较高,还是选择定点数(DECIMAL)比较安全
1)插入数据到 intdata 表中
INSERT INTO intdata VALUES(1,1,1);
2)查看数据库
mysql> SELECT * FROM intdata;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 1 | 1 |
+------+------+------+
1 row in set (0.00 sec)
3)插入的数据如果超出自己设定的长度,但不超过系统的默认长度,还是可以插入的;比如:人为设定 int 型 4 个长度,插入 111111 六个 1 ;依然可以插入;因为系统默认的 int 类型为 11 个长度;
4)浮点数类型和定点数类型
浮点数类型包括单精度(FLOAT型)和双精度(DOUBLE型);定点数类型就是 DECIMAL 型;
5) 如果插入值的精度高于实际定义的精度,系统会自动进行四舍五入处理,使值的精度达到要求。不同的是,FLOAT型和DOUBLE型在四舍五入时不会报错,而DECIMAL型会有警告
如float(6,2) double(6.2) decimal(6,2)
对应插入
3.143 3.145 3.1434(注意M+2,小数点只有两位,但要加上两位)
得到的结果
3.14 3.15 3.14
其中decimal会有警告
通过show warnings;查看
6)如果不指定精度,浮点数和定点数尤其默认的精度。FLOAT型和DOUBLE型默认会保存实际精度,但这与操作系统和硬件的精度有关;DECIMAL型默认整数位为10,小数位为0,
比如 5)中的 decimal 型就会变成 3 ,小数点都的统统截掉
7)在MYSQL中,定点数以字符串形式存储。因此,其精度比富点数要高。而且,浮点数会出现误差,这是浮点数一直存在的缺陷。如果要丢数据的进度要求比较高,还是选择定点数(DECIMAL)比较安全