您的位置:首页 > 数据库 > MySQL

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

2016-07-04 09:33 381 查看

跟王老师学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
添加字段:
1
2
3
alter
table
goods
add
a
float
;

alter
table
goods
add
b
double
;

alter
table
goods
add
d
decimal
;



插入数据:
1
insert
into
goods(
name
,a,b,d)
values
(
'汽车'
,3.143,3.143,3.143);



五、教学视频

http://edu.51cto.com/course/course_id-6420.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据类型