跟王老师学MySQL:MySQL数据类型之小数类型
主讲教师:王少华 QQ群号:483773664
学习内容
小数类型有哪些以及它们的取值范围
定义语法中的M和D的含义
定点型和浮点型的区别
一、简介
MySQL中使用浮点数类型和定点数类型来表示小数。
浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型)。
定点数类型就是DECIMAL型。
二、字节数、取值范围
三、定义语法
1 |
类据类型 (M,D)
|
M:精度,数据的总长度
D:标度,小数点后的长度
注:
小数点不占长度 eg: float(6,2) 1234.56
M影响存储范围,eg:float(6,2) -9999.99~~~9999.99
如果插入值的精确度高于实际定义的精度,系统会自动时行四舍五入处理。(这里的四舍五入采用银行的方式,即如果5前面的数是1279,即5不入,如果5前面是2468,则5入)
四、举例
(一)float
1 建一个商品表goods
1 2 3 4 |
create table goods(
|
2 插入值
1 |
insert into goods( name ,price) values ( ‘跑步机‘ ,688.6);
|
(二)定点型和浮点型区别
1 decimal相对更精确
1、添加二列
1 2 |
alter table goods add bigprice float (9,2);
|
2 插入数据
1 |
insert into goods( name ,bigprice,deciprice) values ( ‘自行车‘ ,1234567.23,1234567.23);
|
原因:decimal在数据库中是以字符存储,因皮,如果要对数据的精度要求比较,还是选择定点数
2 默认精度不一样
如果不指定精度,浮点数和定点数有其默认精度。
FLOAT和DOUBLE型默认会保存实际精度
DECIMAL型默认整数位为10,小数位为0
添加字段:
alter table goods add a float; alter table goods add b double; alter table goods add d decimal;
插入数据:
insert into goods (name,a,b,d) values(‘汽车‘,3.143,3.143,3.143);
五、教学视频
http://edu.51cto.com/course/course_id-6420.html
时间: 2024-10-27 10:36:16