" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫(kù)中數(shù)值字段類型長(zhǎng)度int(11)和Decimal(M,D)詳解

 更新時(shí)間:2023年06月19日 14:03:51   作者:Dream_sky  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)中數(shù)值字段類型長(zhǎng)度int(11)和Decimal(M,D)字段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、Mysql中數(shù)值類型

下圖為Mysql支持的數(shù)值類型及取值范圍

  • BIT[M] 位字段類型,M表示每個(gè)值的位數(shù),范圍從1到64,如果M被忽略,默認(rèn)為1
  • TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為4 ,小的整數(shù)。帶符號(hào)的范圍是-128到127。無符號(hào)的范圍是0到255。
  • SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為6 ,小的整數(shù)。帶符號(hào)的范圍是-32768到32767。無符號(hào)的范圍是0到65535。
  • MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為9 ,中等大小的整數(shù)。帶符號(hào)的范圍是-8388608到8388607。無符號(hào)的范圍是0到16777215。
  • INT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為11 ,普通大小的整數(shù)。帶符號(hào)的范圍是-2147483648到2147483647。無符號(hào)的范圍是0到4294967295。
  • BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為20 ,大整數(shù)。帶符號(hào)的范圍是-9223372036854775808到9223372036854775807。無符號(hào)的范圍是0到18446744073709551615。

需要注意

這里的M代表的并不是存儲(chǔ)在數(shù)據(jù)庫(kù)中的具體的長(zhǎng)度,如果誤以為int(3)只能存儲(chǔ)3個(gè)長(zhǎng)度的數(shù)字,int(11)就會(huì)存儲(chǔ)11個(gè)長(zhǎng)度的數(shù)字,這是不對(duì)的 tinyint(1) 和 tinyint(4) 中的1和4并不表示存儲(chǔ)長(zhǎng)度,只有字段指定zerofill才是有用(也就是零填充時(shí)), 如tinyint(4),如果實(shí)際值是2,如果列指定了zerofill,查詢結(jié)果就是0002,左邊用0來填充`。

二、有無限制的區(qū)別是什么

  • 對(duì)應(yīng)Integer 類型而言,僅表示字段的顯示寬度。
  • 對(duì)于DECIMAL類型,表示數(shù)字的總數(shù)。
  • 對(duì)于字符字段,這是可以存儲(chǔ)的最大字符數(shù),例如VARCHAR(20)可以存儲(chǔ)20個(gè)字符。
  • 顯示寬度并不影響可以存儲(chǔ)在該列中的最大值。int(5)和int(11) 所能存儲(chǔ)的最大范圍是一樣的。
  • 將某個(gè)字段設(shè)置成INT(20)并不意味著將能夠存儲(chǔ)20位數(shù)字,這個(gè)字段最終能存儲(chǔ)的最大范圍還是 INT 的范圍。

三、有無符號(hào)的區(qū)別是什么

那么問題來了,既然加不加數(shù)字并沒有什么區(qū)別,那為什么還多此一舉呢?

“正常”情況下確實(shí)沒有什么區(qū)別,只有當(dāng)字段設(shè)置為UNSIGNED ZEROFILL 屬性時(shí),INT 增加數(shù)字才會(huì)有意義。
表示如果要存儲(chǔ)的數(shù)字少于N 個(gè)字符,則這些數(shù)字將在左側(cè)補(bǔ)零。

四、常用的int(11)代表什么意思

id INT(11) NOT NULL AUTO_INCREMENT,

在一些建表語句會(huì)出現(xiàn)上面 int(11) 的類型,那么其代表什么意思呢?

  • 對(duì)于Integer類型括號(hào)中的數(shù)字稱為字段的顯示寬度。這與其他類型字段的含義不同。
  • 顯示寬度并不影響可以存儲(chǔ)在該列中的最大值。INT(5) 和 INT(11)可以存儲(chǔ)相同的最大值。哪怕設(shè)置成 INT(20) 并不意味著將能夠存儲(chǔ)20位數(shù)字(BIGINT),該列還是只能存儲(chǔ)INT的最大值。
  • 對(duì)于DECIMAL類型,表示數(shù)字的總數(shù)。
  • 對(duì)于字符字段,這是可以存儲(chǔ)的最大字符數(shù),例如VARCHAR(20)可以存儲(chǔ)20個(gè)字符。

 當(dāng)列設(shè)置為UNSIGNED ZEROFILL時(shí),INT(11)才有意義,其表示的意思為如果要存儲(chǔ)的數(shù)字少于11個(gè)字符,則這些數(shù)字將在左側(cè)補(bǔ)零。

五、簡(jiǎn)述Decimal(M,D)數(shù)據(jù)類型用法

當(dāng)我們需要存儲(chǔ)小數(shù),并且有精度要求,比如存儲(chǔ)金額時(shí),通常會(huì)考慮使用DECIMAL字段類型。

1.簡(jiǎn)述

語法是DECIMAL(M,D)

  • DECIMAL(M,D)中M為總長(zhǎng)度,D為小數(shù)點(diǎn)后的保留的位數(shù),M范圍是1到65,D范圍是0到30。
  • M大于D,存儲(chǔ)數(shù)值時(shí),小數(shù)位不足會(huì)自動(dòng)補(bǔ)0,首位數(shù)字為0自動(dòng)忽略。

2.重點(diǎn)

六、總結(jié)

  • 對(duì)于Integer 類型而言,“數(shù)字”并不會(huì)限制其能存儲(chǔ)的最大范圍。
  • DECIMAL(M,D)中M為總長(zhǎng)度,D為小數(shù)點(diǎn)后的保留的位數(shù)
  • 對(duì)于字符字段,這是可以存儲(chǔ)的最大字符數(shù),例如VARCHAR(20)最多存儲(chǔ)20個(gè)字符。
  • 如果誤以為int(3)只能存儲(chǔ)3個(gè)長(zhǎng)度的數(shù)字,int(11)就會(huì)存儲(chǔ)11個(gè)長(zhǎng)度的數(shù)字,這是不對(duì)的 3和11并不表示存儲(chǔ)長(zhǎng)度,只有字段指定zerofill才是有用(也就是零填充時(shí)),左邊用0來填充`。**

以上就是MySQL數(shù)據(jù)庫(kù)中數(shù)值字段類型長(zhǎng)度int(11)和Decimal(M,D)詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)值字段類型長(zhǎng)度的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL修改root密碼的3種實(shí)用方法

    MySQL修改root密碼的3種實(shí)用方法

    最近在看項(xiàng)目,搭建本地環(huán)境時(shí)候,忘記mysql的密碼,怎么修改密碼,網(wǎng)上找了半天,終于配合著幾個(gè)帖子搞定了,下面這篇文章主要給大家介紹了關(guān)于MySQL修改root密碼的3種實(shí)用方法,需要的朋友可以參考下
    2023-11-11
  • MySQL JOIN之完全用法

    MySQL JOIN之完全用法

    最近在做mysql的性能憂化,做到多表連接查詢,比較頭疼,看了一些join的資料,終于搞定,這里分享出來!
    2009-12-12
  • Window下Mysql忘記root密碼怎么重置

    Window下Mysql忘記root密碼怎么重置

    這篇文章主要介紹了Window下Mysql忘記root密碼的重置方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • Mysql的基礎(chǔ)使用之MariaDB安裝方法詳解

    Mysql的基礎(chǔ)使用之MariaDB安裝方法詳解

    這篇文章主要介紹了Mysql的基礎(chǔ)使用之MariaDB安裝的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Mysql主從GTID與binlog如何使用

    Mysql主從GTID與binlog如何使用

    MySQL的GTID和binlog是實(shí)現(xiàn)高效數(shù)據(jù)復(fù)制和恢復(fù)的重要機(jī)制,GTID保證事務(wù)的唯一標(biāo)識(shí),避免復(fù)制沖突;binlog記錄數(shù)據(jù)變更,用于主從復(fù)制和數(shù)據(jù)恢復(fù),兩者配合,提高M(jìn)ySQL復(fù)制的準(zhǔn)確性和管理便捷性
    2024-10-10
  • MySQL中替代Like模糊查詢的函數(shù)方式

    MySQL中替代Like模糊查詢的函數(shù)方式

    這篇文章主要介紹了MySQL中替代Like模糊查詢的函數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mysql排查鎖等待的解決方法

    mysql排查鎖等待的解決方法

    最近線上碰到了幾次mysql鎖等待的問題,本文主要介紹了mysql排查鎖等待的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 深入探究MySQL中使用where 1=1是否存在性能影響

    深入探究MySQL中使用where 1=1是否存在性能影響

    最近在項(xiàng)目中使用 mybatis 寫 SQL 使用了 where 1=1 來簡(jiǎn)化多條件拼接的寫法,案例如下,借此聊聊多條件拼接的常見的一些寫法以及 where 1=1 是否存在性能影響,需要的朋友可以參考下
    2024-02-02
  • phpmyadmin出現(xiàn)#2003服務(wù)器無響應(yīng)解決方法小結(jié)

    phpmyadmin出現(xiàn)#2003服務(wù)器無響應(yīng)解決方法小結(jié)

    出現(xiàn)登陸phpmyadmin出現(xiàn) #2003 - 服務(wù)器沒有響應(yīng)最先想到的是你的mysql服務(wù)器是不是停止了檢查一下,如果是mysql服務(wù)器停止服務(wù)了重啟就可以解決問題了
    2012-04-04
  • mysql對(duì)于模糊查詢like的一些匯總

    mysql對(duì)于模糊查詢like的一些匯總

    這篇文章主要給大家介紹了關(guān)于mysql對(duì)于模糊查詢like的一些匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論