MySQL數(shù)據(jù)類型Numeric詳解
前言
MySQL系列最近三篇均關(guān)注了和我們?nèi)粘9ぷ骰驅(qū)W習密切相關(guān)的安全話題,通過介紹相關(guān)領(lǐng)域知識或?qū)嵺`,為有需要的盆友提供便捷的參考方案。
從本文開始,博主打算換個“口味”,正如吃飯需要“酸甜苦辣咸”一樣,數(shù)據(jù)類型(Data Types)是MySQL存儲的基本標準。今天博主帶著各位先深入學習其中之一:Numeric。

一、數(shù)值類型綜述
MySQL支持數(shù)值類型,主要包括兩類:
- 精確的數(shù)值數(shù)據(jù)類型:
INTEGER、SMALLINT、DECIMAL和NUMERIC - 近似的數(shù)值數(shù)據(jù)類型:
FLOAT、REAL和DOUBLE PRECISION
二、數(shù)值類型詳解
1. NUMERIC
1.1 UNSIGNED或SIGNED
Numeric類型允許UNSIGNED(無符號)和SIGNED(有符號)。其中SIGNED是默認屬性,UNSIGNED用于限制數(shù)值為非負。它們的區(qū)別就是UNSIGNED擴展了整型數(shù)據(jù)的可用范圍,但是并沒有改變類型存儲的數(shù)據(jù)范圍。
1.2 數(shù)據(jù)類型劃分
Numeric包括以下主要的數(shù)據(jù)類型:
| 類型 | 說明 |
|---|---|
| BIT | 位,取值[1,64],默認是1 |
| TINYINT | 短整數(shù),取值[-128,127] ;如無符號,取值[0,255] |
| BOOL,BOOLEAN | 等同TINYINT[1],0代表false,非0代表1 |
| SMALLINT | 短整數(shù),取值[-32768,32767] ;如無符號,取值[0,65535] |
| MEDIUMINT | 中等整數(shù),取值[-8388608,8388607] ;如無符號,取值[ 0,16777215] |
| INT,INTEGER | 正常整數(shù),取值[-2147483648,2147483647] ;如無符號,取值[ 0,4294967295] |
| BIGINT | 長整數(shù),取值[ -9223372036854775808,9223372036854775807] ;如無符號,取值[0,18446744073709551615] |
| DECIMAL | 一個“固定”的浮點數(shù),支持的最大長度65(默認10),最大的小數(shù)位數(shù)30(默認0) |
| FLOAT | 一個單精度浮點數(shù),取值[3.402823466E+38,-1.175494351E-38]和[1.175494351E-38,3.402823466E+38],可精確到小數(shù)點7位左右。該類型的數(shù)據(jù)精度隨硬件或操作系統(tǒng)的差異會有所不同 |
| DOUBLE | 一個雙精度浮點數(shù),取值[-1.7976931348623157E+308,-2.2250738585072014E-308]和[0,2.225073585072014E-308-1797693134863157E+308],可精確到小數(shù)點15位左右 |
2. Integer類型取值和存儲要求

3. Fixed-Point類型取值和存儲要求
DECIMAL和NUMERIC類型可以存儲精確的浮點數(shù)據(jù),如金額類數(shù)據(jù)。比如創(chuàng)建一個注冊資本字段:regcap decimal(10,2),代表長度為10位,并保留2位小數(shù)。
提示:在MySQL中,NUMERIC等同于DECIMAL。
4. Floating-Point類型取值和存儲要求
FLOAT和DOUBLE類型表示近似的數(shù)值。在MySQL中,使用四個字節(jié)表示單精度值,八個字節(jié)表示雙精度值。
比如我們定義一個類型為*float(10,5)*的字段,實際會存入一個近似值。
結(jié)語
本文對MySQL數(shù)據(jù)類型中的Numeric進行了說明,可以指導我們在建庫建表的時候,針對不同業(yè)務字段設計不同的Numeric類型。
到此這篇關(guān)于MySQL數(shù)據(jù)類型Numeric詳解的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解mysql的limit經(jīng)典用法及優(yōu)化實例
這篇文章詳細介紹了mysql的limit經(jīng)典用法及優(yōu)化實例,有需要的朋友可以參考一下2013-09-09
MySQL使用select語句查詢指定表中指定列(字段)的數(shù)據(jù)
本文介紹MySQL數(shù)據(jù)庫中執(zhí)行select查詢語句,查詢指定列的數(shù)據(jù),即指定字段的數(shù)據(jù),需要的朋友可以參考下2016-11-11
MySQL遇到“?Access?denied?for?user?”問題的解決辦法
這篇文章主要介紹了MySQL遇到“?Access?denied?for?user?”問題的解決辦法,文中通過代碼示例講解的非常詳細,對大家的解決問題有一定的幫助,需要的朋友可以參考下2024-12-12
MySQL安裝第四步報錯(initializing?database報錯)的圖文解決方法
這篇文章主要給大家介紹了關(guān)于MySQL安裝第四步報錯(initializing?database報錯)的解決方法,"initializing?database"?通常出現(xiàn)在安裝MySQL的過程中,表示MySQL數(shù)據(jù)庫初始化過程中遇到了問題,需要的朋友可以參考下2024-06-06
Mysql的longblob字段插入數(shù)據(jù)問題解決
在使用mysql的過程中,有個問題就是mysql的優(yōu)化,mysql中l(wèi)ongblob字段在5.5版本中默認的為1M,需要解決問題的朋友可以參考下2014-01-01

