作用:用于存储用户的身高、体重、薪水等
(浮点数和定点数都可以用类型名称后加(M,D)的方式来表示,
(M,D)表示一共显示M位数字(整数位+小数位),
其中D位于小数点后面,M和D又称为精度和标度。)
一、浮点数float类型测试
1、创建一个表
示例:
mysql> create table test4(float_test float(5,2)); //一共5位,小数占2位
Query OK, 0 rows affected (0.00 sec)
2、查询表结构
示例:
mysql> desc test4;
+------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+-------+
| float_test | float(5,2) | YES | | NULL | |
+------------+------------+------+-----+---------+-------+
1 row in set (0.00 sec)
(float(5,2)
5是整数加小数的总长
,2是小数长度。
整数意味只有3位长度。)
3、插入合法数据
示例:
mysql> insert into test4 values (10.2), (70.243), (70.246);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
4、查询表内容
示例:
mysql> select * from test4;
+------------+
| float_test |
+------------+
| 10.20 |
| 70.24 |
| 70.25 |
+------------+
3 rows in set (0.00 sec)
5、插入非法数据
示例:
mysql> insert into test4 values (1111.2);
ERROR 1264 (22003): Out of range value for column 'float_test' at row 1
二、LAB2:(精准小数decimal)
定点数decimal类型测试:
(定点数在MySQL内部以字符串形式存储,比浮点数更精确,
适合用来表示货币等精度高的数据。
decimal在不指定精度时,默认的整数位为10,默认的小数位为0)
1、创建一个表
mysql> create table test5(decimal_test decimal(5,2));
(总长度5位,小数占2位)
2、插入数据
示例:
mysql> insert into test5 values (70.245);
Query OK, 1 row affected, 1 warning (0.05 sec)
(注意有警告!! 超长部分不吉利,会四舍五入)
查看:mysql> select * from test5;
3、请思考如何创建整数9位,小数5位的数据类型
三、区别
三者区别介绍:
1、float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)
2、double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
3、decimal:数字型,128bit,常用于银行帐目计算。(28个有效位)