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) 

補充:

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中以字符串形式存放,比浮點數更精確,適合用來表示貨幣等精度高的數據。

小數都可以用類型名稱后加(M,D),M-精度:一共顯示M位(整數+小數)D-標度:保留小數點后D位,但是這種是非標准用法,建議不使用,建議使用默認精度,浮點數的默認值又實際的硬件和操作系統決定,decimal默認整數為10位,小數為0位。

插入小數時會按照實際精度值顯示,超入精度會四舍五入,不會報錯,而插入定點數。

BIT(位)類型:略

 


免責聲明!

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



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