跟王老师学MySQL:MySQL数据类型之小数类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学MySQL:MySQL数据类型之小数类型相关的知识,希望对你有一定的参考价值。

跟王老师学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(
   name varchar(10),
   price float(6,2)
);

技术分享

2 插入值

1
insert into goods(name,price) values(‘跑步机‘,688.6);

技术分享

(二)定点型和浮点型区别

1 decimal相对更精确

1、添加二列

1
2
alter table goods add bigprice float(9,2);
alter table goods add deciprice decimal(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










本文出自 “跟王老师学编程” 博客,请务必保留此出处http://teacherwang.blog.51cto.com/10946447/1795410

以上是关于跟王老师学MySQL:MySQL数据类型之小数类型的主要内容,如果未能解决你的问题,请参考以下文章

跟王老师学MySQL:MySQL数据类型之整数类型

跟王老师学MySQL:MySQL数据类型之整数类型

跟王老师学MySQL:MySQL数据类型之字符类型

跟王老师学MySQL:MySQL数据类型之日期与时间类型

跟王老师学MySQL:MySQL数据类型常见问题及解答

跟王老师学MySQL:MySQL数据类型常见问题及解答