1、整數類型 I.有符號整型 (1) Tinyint:單位元組整形,系統採用一個位元組來保存的整形:一個位元組 = 8位,最大能表示的數值是0-255. (2) Smallint:雙位元組整形,系統採用兩個位元組來保存的整形:能表示0-65535之間 (3) Mediumint:三位元組整形,採用三個位元組來保存 ...
1、整數類型
I.有符號整型
(1) Tinyint:單位元組整形,系統採用一個位元組來保存的整形:一個位元組 = 8位,最大能表示的數值是0-255.
(2) Smallint:雙位元組整形,系統採用兩個位元組來保存的整形:能表示0-65535之間
(3) Mediumint:三位元組整形,採用三個位元組來保存數據
(4) Int:整形(標準整形),採用四個位元組來保存數據
(5) Bigint:大整形,採用八個位元組來保存數據。
① 創建數據表
② 插入合理數據
③ 插入錯誤數據(超出對應的數據範圍)
錯誤原因:並不是說tinyint沒有這麼大的空間,而是因為mysql預設的為整形增加負數。
實際表示的區間為-128,127
實際應用中,應該根據對應的數據的範圍來選定對應的整形類型:通常使用的比較多的TINYINT和int。
II.無符號整型
無符號:表示存儲的數據在當前欄位中,沒有負數(只有正數,區間為0-255)
基本語法: 在類型之後加上一個 unsigned |
範例:創建無符號整型數
III 顯示長度
顯示長度:指數據(整型)在數據顯示的時候,到底可以顯示多長位。
Tinyint(3): 表示最長可以顯示3位,unsigned說明只能是正數,0-255永遠不會超過三個長度
Tinyint(4):表示最長可以顯示4位,-128~127
顯示長度只是代表了數據是否可以達到指定的長度,但是不會自動滿足到指定長度:如果想要數據顯示的時候,保持最高位(顯示長度),那麼還需要給欄位增加一個zerofill屬性才可以。
Zerofill:從左側開始填充0(左側不會改變數值大小),所以負數的時候就不能使用zerofill,一旦使用zerofill就相當於確定該欄位為unsigned
範例:使用zerofill創建數據
說明:
數據顯示的時候,zerofill會在左側填充0到指定位:如果不足3位,那麼填充到3位,如果本身已經夠了或者超出,那麼就不在填充。
說明:
顯示長度可以自己設定:超出長度(但是不超出範圍)不會影響,只會對不夠長度的進行補充(顯示長度)
2、小數類型
專門用來存儲小數的;在Mysql中將小數類型又分為兩類:浮點型和定點型
I 浮點型
浮點型又稱之為精度類型:是一種有可能丟失精度的數據類型,數據有可能不那麼準確(由其是在超出範圍的時候)
說明:浮點型之所以能夠存儲較大的數值(不精確),原因就是利用存儲數據的位來存儲指數
整型:所有位都為1
1 |
1 |
1 |
1 |
1 |
1 |
1 |
計算結果:
浮點型:有部分用於存儲數據,有部分用於存指數
1 |
1 |
1 |
1 |
1 |
1 |
1 |
前三位轉換成十進位之後用作10的指數: 10^7 * 數據值
(1) Float
Float又稱之為單精度類型:系統提供4個位元組用來存儲數據,但是能表示的數據範圍比整型大的多,大概是10^38;只能保證大概7個左右的精度(如果數據在7位數以內,那麼基本是準確的,但是如果超過7位數,那麼就是不准確的)。
基本語法: Float:表示不指定小數位的浮點數 |
基本語法: Float(M,D):表示一共存儲M個有效數字,其中小數部分占D位 |
基本語法: Float(10,2):整數部分為8位,小數部分為2位 |
① 創建一個數據表保存浮點數據
② 存入數據:合法數據
註意:如果數據精度丟失,那麼浮點型是按照四捨五入的方式進行計算
③ 插入數據,超出大小
④ 數據長度剛好滿足條件,但是會超出精度
說明:
用戶不能插入數據直接超過指定的整數部分長度,但是如果是系統自動進位導致,系統可以承擔。
⑤ 浮點數可以採用科學計數法來存儲數據
浮點數的應用:通常是用來保存一些數量特別大,大到可以不用那麼精確的數據。
(2) Double
Double又稱之為雙精度:系統用8個位元組來存儲數據,表示的範圍更大,10^308次方,但是精度也只有15位左右。
II 定點數
定點數:能夠保證數據精確的小數(小數部分可能不精確,超出長度會四捨五入),整數部分一定精確
(1) Decimal
Decimal定點數:系統自動根據存儲的數據來分配存儲空間,每大概9個數就會分配四個位元組來進行存儲,同時小數和整數部分是分開的。
基本語法: Decimal(M,D):M表示總長度,最大值不能超過65,D代表小數部分長度,最長不能超過30。 |
① 創建表:與浮點數對比
② 插入正常數據
③ 插入最大數據
④ 嘗試定點數進行四捨五入
定點數的應用:如果涉及到錢的時候有可能使用定點數,涉及到精確度較高的情況下,推薦使用定點數。