深入mysql 數值型別選取的精度

2021-10-06 10:17:52 字數 830 閱讀 4753

在這之前我也是小白,總覺得int(10) 代表的是儲存寬度

整數型別

tinyint   		1位元組    有符號範圍 (-128,127)     			無符號範圍(0,256)

smallint 2位元組 有符號範圍 (-32768,32767) 無符號範圍 (0,65536)

mediumint 3位元組 有符號範圍(-8388608,8388607) 無符號範圍 (0,16777215)

int,integer 4位元組 有符號範圍(-2147483648,2147483647) 無符號範圍 (0,4294967295)

bigint 8位元組 極大 極大

unsigned int(10) 所代表的是設定顯示寬度 不是資料儲存寬度 [無符號預設顯示寬度是10 有符號int 預設顯示寬度是11 可以使用desc table 檢視 ]

浮點型別
float double 和decimal

float 儲存數字總數225,30個小數字 顯示精度過高會出問題(第8位小數開始出錯)

double 儲存數字總數225,30個小數字 顯示精度過高會出問題(進度稍微比float高些 過高還是會出問題,第16位小數開始出錯)

decimal 儲存數字總數65, 30個小數字 精度不超出30位不會出問題只是整數字不能過高

相同點: 小數字都是30位

不用點: 儲存數值總位數不一樣 decimal 儲存的30位小數精確度高 float 和double 儲存的小數精度低但是整數字更大

mysql 的數值型別

double m,d unsigned zerofill 普通大小 雙精度 浮點數。m是小數總位數,d是小數點後面的位數。如果m和d被省略,根據硬體允許的限制來儲存值。雙精度浮點數精確到大約15位小數。如果指定unsigned,不允許負值。float m,d unsigned zerofill 小 ...

mysql數值型別

通過mysql手冊對mysql的數值資料型別進行了乙個回顧,總結如下 mysql支援所有標準sql數值資料型別。這些型別包括嚴格資料型別 integer smallint decimal numeric,以及近似數值資料型別 float real double precision。關鍵字int是in...

mysql資料型別選取

mysql資料型別選取 最最基礎的一些參考依據,有不嚴謹的地方,僅供參考,不喜勿噴!1 整數和浮點 整數和浮點的區別是能否表達小數部分 浮點包括float和double,看精確度要求 2 浮點整數和定點整數 主要看對精度要求,定點整數比負點整數精度高 3 char和varchar 如果長度固定,選擇...