天天看點

MYSQL支援的資料類型-數值類型

一、數值類型分類

MYSQL支援所有标準SQL中的數值類型,其中包括嚴格數值類型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似數值資料類型(FLOAT、REAL和DOUBLE PRECISON),并在此基礎上擴充增加了TINYINT、MEDIUMINT、BIGINT這三種整型,并增加了BIT類型,用來存放位資料

其中整數類型包括:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT

浮點數類型包括:FLOAT、DOUBLE

定點數類型包括:DECIMAL(DEC)(M,D) 

位類型包括:BIT(M) 

MYSQL支援的資料類型-數值類型

補充:

BIT(M)    1-8位元組      最小值BIT(1)              最大值BIT(64)

二、整數類型

在整數類型中,一共分位5種(tinyint,smallint,mediuint,int,bigint),在設定整數數值類型時,要确定好取值範圍,選擇合适的數值類型,避免出現Out of  range的情況,同時要加上數值的長度,int預設長度位11,int(11),可以和zerofill一起使用

create table t1 (id1 int);
alter table t1 modify id1 int zerofill;
insert into t1 values(1);
select * from t1;
id1
00000000001      

如果插入大于寬度限制的值,不會影響資料的插入,但是數值的長度沒有意義。

所有的整數類型都有一個可選的屬性UNSIGEND(無符号),如果需要在字段裡面儲存非複數或者需要較大的上限值時,可以加入該字段,它的取值範圍為:下限取0,上限值取原值的兩倍。

整數類型的另一個屬性:AUTO_INCREMENT。在需要産生唯一辨別符或順序時,可利用此屬性。一般從1開始,每行增加1,NULL插入時也會自增,一個表中最多隻能有一個AUTO_INCREMENT。對于定義該屬性,應該同時定義為NOT NULL,并定義為PRIMARY KEY或定義UNIUQE鍵。

對于小數表示:mysql有兩種表示:浮點數和定點數,浮點數包括float(單精度)和double(雙精度),定點數隻有一種decimal表示。定點數在mysql中以字元串形式存放,比浮點數更精确,适合用來表示貨币等精度高的資料。