標籤:mysql;mysql資料類型
跟王老師學MySQL:MySQL資料類型之小數類型
主講教師:王少華 QQ群號:483773664
學習內容
小數類型有哪些以及它們的取值範圍
定義文法中的M和D的含義
定點型和浮點型的區別
一、簡介
MySQL中使用浮點數類型和定點數類型來表示小數。
浮點數類型包括單精確度浮點數(FLOAT型)和雙精確度浮點數(DOUBLE型)。
定點數類型就是DECIMAL型。
二、位元組數、取值範圍
650) this.width=650;" border="0" src="http://s3.51cto.com/wyfs02/M00/83/A3/wKiom1d5HYbDq-UDAABYCfYvEfI337.png" alt="wKiom1d5HYbDq-UDAABYCfYvEfI337.png" />
三、定義文法
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
| 1234 |
create table goods( name varchar(10), price float(6,2)); |
650) this.width=650;" border="0" src="http://s3.51cto.com/wyfs02/M01/83/A3/wKiom1d5HYfyKrXGAAAZy6HKJMg162.png" alt="wKiom1d5HYfyKrXGAAAZy6HKJMg162.png" />
2 插入值
| 1 |
insert into goods(name,price) values(‘跑步機‘,688.6); |
650) this.width=650;" border="0" src="http://s3.51cto.com/wyfs02/M01/83/A2/wKioL1d5HYexteWjAAAYgBCrg0Q747.png" alt="wKioL1d5HYexteWjAAAYgBCrg0Q747.png" />
(二)定點型和浮點型區別1 decimal相對更精確
1、添加二列
| 12 |
alter table goods add bigprice float(9,2);alter table goods add deciprice decimal(9,2); |
650) this.width=650;" border="0" src="http://s3.51cto.com/wyfs02/M02/83/A2/wKioL1d5HYfQN48kAAAzow0khQk712.png" alt="wKioL1d5HYfQN48kAAAzow0khQk712.png" />
2 插入資料
| 1 |
insert into goods(name,bigprice,deciprice)values(‘單車‘,1234567.23,1234567.23); |
650) this.width=650;" border="0" src="http://s3.51cto.com/wyfs02/M02/83/A3/wKiom1d5HYfTWlQsAAAigB866Js948.png" alt="wKiom1d5HYfTWlQsAAAigB866Js948.png" />
原因: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;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/83/A3/wKiom1d5IL_iA3IfAAAa8C-WNcg998.png-wh_500x0-wm_3-wmp_4-s_2279091759.png" title="82c5d549-203e-4dae-b8a4-df3c06e6c046.png" alt="wKiom1d5IL_iA3IfAAAa8C-WNcg998.png-wh_50" />
插入資料:
insert into goods (name,a,b,d) values(‘汽車‘,3.143,3.143,3.143);
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/83/A2/wKioL1d5IROT1z_MAAAnPQZwTyM676.png-wh_500x0-wm_3-wmp_4-s_2083110622.png" title="b5881353-0208-444e-ac37-03f303a0d2ea.png" alt="wKioL1d5IROT1z_MAAAnPQZwTyM676.png-wh_50" />
五、教學視頻
http://edu.51cto.com/course/course_id-6420.html
本文出自 “跟王老師學編程” 部落格,請務必保留此出處http://teacherwang.blog.51cto.com/10946447/1795410
跟王老師學MySQL:MySQL資料類型之小數類型