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

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

3. Fixed-Point類(lèi)型取值和存儲(chǔ)要求
DECIMAL和NUMERIC類(lèi)型可以存儲(chǔ)精確的浮點(diǎn)數(shù)據(jù),如金額類(lèi)數(shù)據(jù)。比如創(chuàng)建一個(gè)注冊(cè)資本字段:regcap decimal(10,2),代表長(zhǎng)度為10位,并保留2位小數(shù)。
提示:在MySQL中,NUMERIC等同于DECIMAL。
4. Floating-Point類(lèi)型取值和存儲(chǔ)要求
FLOAT和DOUBLE類(lèi)型表示近似的數(shù)值。在MySQL中,使用四個(gè)字節(jié)表示單精度值,八個(gè)字節(jié)表示雙精度值。
比如我們定義一個(gè)類(lèi)型為*float(10,5)*的字段,實(shí)際會(huì)存入一個(gè)近似值。
結(jié)語(yǔ)
本文對(duì)MySQL數(shù)據(jù)類(lèi)型中的Numeric進(jìn)行了說(shuō)明,可以指導(dǎo)我們?cè)诮◣?kù)建表的時(shí)候,針對(duì)不同業(yè)務(wù)字段設(shè)計(jì)不同的Numeric類(lèi)型。
到此這篇關(guān)于MySQL數(shù)據(jù)類(lèi)型Numeric詳解的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux下啟動(dòng)多個(gè)mysql服務(wù)器例子
這篇文章主要介紹了Linux下啟動(dòng)多個(gè)mysql服務(wù)器例子,本文還包括了3個(gè)可能遇到的問(wèn)題及解決方法,需要的朋友可以參考下2014-07-07
詳解mysql的limit經(jīng)典用法及優(yōu)化實(shí)例
這篇文章詳細(xì)介紹了mysql的limit經(jīng)典用法及優(yōu)化實(shí)例,有需要的朋友可以參考一下2013-09-09
MySQL使用select語(yǔ)句查詢(xún)指定表中指定列(字段)的數(shù)據(jù)
本文介紹MySQL數(shù)據(jù)庫(kù)中執(zhí)行select查詢(xún)語(yǔ)句,查詢(xún)指定列的數(shù)據(jù),即指定字段的數(shù)據(jù),需要的朋友可以參考下2016-11-11
MySQL遇到“?Access?denied?for?user?”問(wèn)題的解決辦法
這篇文章主要介紹了MySQL遇到“?Access?denied?for?user?”問(wèn)題的解決辦法,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的解決問(wèn)題有一定的幫助,需要的朋友可以參考下2024-12-12
MySQL MHA 運(yùn)行狀態(tài)監(jiān)控介紹
這篇文章主要介紹MySQL MHA 運(yùn)行狀態(tài)監(jiān)控,MHA(Master HA)是一款開(kāi)源的 MySQL 的高可用程序,它為 MySQL 主從復(fù)制架構(gòu)提供了 automating master failover 功能,想具體了解的小伙伴可以和小編一起學(xué)習(xí)下面文章內(nèi)容2021-10-10
MySQL定時(shí)任務(wù)EVENT事件的使用方法
本文主要介紹了MySQL定時(shí)任務(wù)EVENT事件的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
MySQL安裝第四步報(bào)錯(cuò)(initializing?database報(bào)錯(cuò))的圖文解決方法
這篇文章主要給大家介紹了關(guān)于MySQL安裝第四步報(bào)錯(cuò)(initializing?database報(bào)錯(cuò))的解決方法,"initializing?database"?通常出現(xiàn)在安裝MySQL的過(guò)程中,表示MySQL數(shù)據(jù)庫(kù)初始化過(guò)程中遇到了問(wèn)題,需要的朋友可以參考下2024-06-06
Mysql的longblob字段插入數(shù)據(jù)問(wèn)題解決
在使用mysql的過(guò)程中,有個(gè)問(wèn)題就是mysql的優(yōu)化,mysql中l(wèi)ongblob字段在5.5版本中默認(rèn)的為1M,需要解決問(wèn)題的朋友可以參考下2014-01-01

