0六、MySQL—列類型

一、整數類型

I.有符號整型

(1) Tinyint:單字節整形,系統採用一個字節來保存的整形:一個字節 = 8位,最大能表示的數值是0-255.mysql

(2) Smallint:雙字節整形,系統採用兩個字節來保存的整形:能表示0-65535之間sql

(3) Mediumint:三字節整形,採用三個字節來保存數據大數據

(4) Int:整形(標準整形),採用四個字節來保存數據spa

(5) Bigint:大整形,採用八個字節來保存數據。3d

① 建立數據表blog

 

② 插入合理數據ci

 

③ 插入錯誤數據(超出對應的數據範圍)table

 

錯誤緣由:並非說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位,若是自己已經夠了或者超出,那麼就不在填充。

 

說明:

顯示長度能夠本身設定:超出長度(可是不超出範圍)不會影響,只會對不夠長度的進行補充(顯示長度)

 

二、小數類型

專門用來存儲小數的;在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。

① 建立表:與浮點數對比

 

② 插入正常數據

  

③ 插入最大數據

 

④ 嘗試定點數進行四捨五入

 

定點數的應用:若是涉及到錢的時候有可能使用定點數,涉及到精確度較高的狀況下,推薦使用定點數。

相關文章
相關標籤/搜索