MySQL支持的數據類型(1)( 整數,小數,位)


 

整數類型 字節 最小值 最大值
tinyint 1

有符號-128

無符號0

有符號127

無符號255

smallint 2

有符號-32768

無符號0

有符號32767

無符號65535

mediumint 3

有符號-8388608

無符號0

有符號8388607

無符號1677215

int、integer 4

有符號-2147483648

無符號0

有符號2147483647

無符號4294967295

bigint 8

有符號-9223372036854775808

無符號0

有符號9223372036854775807

無符號18446744073709551615

 

浮點數類型 字節 最小值 最大值
float 4 ±1.175494351E-38 ±3.402823466E+38
double 8 ±2.2250738585072014E-308 ±1.7976931348623157E+308

 

定點數類型 字節 描述
dec(m,d) / decimal(m,d) m+2 最大取值范圍與double相同,給定decimal的有效取值范圍由m和d決定

 

位類型 字節 最小值 最大值
bit(m) 1-8 bit(1) bit(64)

 

一、對於整數類型,Mysql支持在類型后面的小括號內指定顯示寬度  例如:int(5) 表示當前數值寬度小於5位的時候在數字前面填滿寬度。

1.如果不指定顯示寬度,則默認為int(11)

2. 配合zerofill使用:在數字位數不夠的空間用字符"0"填滿。  eg:修改表字段為 id1 int zerofill;

    

//創建表  id1為int,不設置顯示寬度 id2為int,設置顯示寬度為6 id3為tinyint 不設置顯示寬度 create table t1( id1 int zerofill, id2 int(6) zerofill, id3 tinyint zerofill );

//都插入相同數值1
insert into t1 values(1,1,1);

3.設置寬度限制后,如果插入大於寬度限制的值,會正常插入。此時寬度格式已經沒有意義。

二、對於整數類型,都有可選屬性unsigned(無符號)

1.用於保存保存非負數或者需要較大上限的值

2.取值范圍:下限是0,上限是原值的2倍。 eg: tinyint 有符號范圍是-128~127 無符號范圍是0~255

3.如果一個列指定為zerofill,則MySQL自動為該列添加unsigned屬性

二、對於整數類型,都有可選屬性auto_increment

1.自增屬性,一般從1開始,每插入一條數據該字段都會+1。用於產生唯一標識符或順序值。

2.在插入null到一個auto_increment列時,MySQL會插入一個比該列中當前最大值大1的值。

3.對於任何想要使用auto_increment的列,應該定義為not null,並定義為primary key或定義為unique鍵。

小數

1.對於小數的表示,分為浮點數定點數。浮點數包括float(單精度)double(雙精度),定點數只有decimal一種表示。

2.定點數在MySQL內部以字符串的形式存放,比浮點數更精確,適合用來表示貨幣等精度高的數據。

3.小數類型都可以在類型名稱后加"(m,d)",表示該值一共顯示m位數字(整數位加小數位),其中d位位於小數點后面,m和d又稱為精度和標度eg:float(7,4) 插入999.00009,保存結果為999.0001。四舍五入

4.float和double在不指定精度時,默認會按照實際的精度來顯示。若指定,則會自動將四舍五入的結果插入。

5.decimal在不指定精度時,默認為(10,0),如果數據超越了精度和標度,系統則會報錯。

1.bit(m)用來存放多位二進制數,m的范圍是1~64

2.對於位字段,直接使用select命令將不能看到結果,可以用bin()(顯示為二進制格式)、hex()(顯示為十六進制格式)函數進行讀取。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM