最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫(kù)常見字段類型長(zhǎng)度匯總大全

 更新時(shí)間:2024年05月23日 09:54:54   作者:程序員Forlan  
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)常見字段類型長(zhǎng)度匯總大全的相關(guān)資料,需要的朋友可以參考下

一、整數(shù)

TINYINT

  • 長(zhǎng)度:固定為1個(gè)字節(jié)。
  • 范圍:-128 到 127(有符號(hào))或 0 到 255(無(wú)符號(hào))。

SMALLINT

  • 長(zhǎng)度:固定為2個(gè)字節(jié)。
  • 范圍:-32,768 到 32,767(有符號(hào))或 0 到 65,535(無(wú)符號(hào))。

MEDIUMINT

  • 長(zhǎng)度:固定為3個(gè)字節(jié)。
  • 范圍:-8,388,608 到 8,388,607(有符號(hào))或 0 到 16,777,215(無(wú)符號(hào))。

INT

  • 長(zhǎng)度:固定為4個(gè)字節(jié)。
  • 范圍:-2,147,483,648 到 2,147,483,647(有符號(hào))或 0 到 4,294,967,295(無(wú)符號(hào))。

BIGINT

  • 長(zhǎng)度:固定為8個(gè)字節(jié)。
  • 范圍:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(有符號(hào))或 0 到 18,446,744,073,709,551,615(無(wú)符號(hào))。

二、字符串

CHAR

  • 長(zhǎng)度:0到255個(gè)字符。
  • 存儲(chǔ):定長(zhǎng),總是使用指定的長(zhǎng)度。如果存儲(chǔ)的字符串長(zhǎng)度小于定義的長(zhǎng)度,它將使用空格填充。

VARCHAR

  • 長(zhǎng)度:0到65535個(gè)字符,但實(shí)際最大長(zhǎng)度取決于最大行大小(65535字節(jié))和使用的字符集。
  • 存儲(chǔ):變長(zhǎng),只使用必要的空間加上一個(gè)或兩個(gè)額外的字節(jié)來(lái)記錄字符串的長(zhǎng)度。

BINARY

  • 長(zhǎng)度:0到65535個(gè)字節(jié),取決于字符集和校對(duì)規(guī)則。
  • 存儲(chǔ):定長(zhǎng),總是使用指定的長(zhǎng)度。BINARY類型類似于CHAR類型,但存儲(chǔ)二進(jìn)制字節(jié)字符串。

VARBINARY

  • 長(zhǎng)度:0到65535個(gè)字節(jié),取決于字符集和校對(duì)規(guī)則。
  • 存儲(chǔ):變長(zhǎng),只使用必要的空間加上一個(gè)額外的字節(jié)來(lái)記錄字符串的長(zhǎng)度。VARBINARY類型類似于VARCHAR類型,但存儲(chǔ)二進(jìn)制字節(jié)字符串。

TINYTEXT

  • 長(zhǎng)度:最大255個(gè)字符。2^8 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要1個(gè)字節(jié),字符串本身存儲(chǔ)在單獨(dú)的表中。

TEXT

  • 長(zhǎng)度:最大65,535個(gè)字符。2^16 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要2個(gè)字節(jié),字符串本身存儲(chǔ)在單獨(dú)的表中。

MEDIUMTEXT

  • 長(zhǎng)度:最大16,777,215個(gè)字符。2^24 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要3個(gè)字節(jié),字符串本身存儲(chǔ)在單獨(dú)的表中。

LONGTEXT

  • 長(zhǎng)度:最大4,294,967,295個(gè)字符。2^32 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要4個(gè)字節(jié),字符串本身存儲(chǔ)在單獨(dú)的表中。

TINYBLOB

  • 長(zhǎng)度:最大255個(gè)字節(jié)。2^8 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要1個(gè)字節(jié),二進(jìn)制數(shù)據(jù)存儲(chǔ)在單獨(dú)的表中。

BLOB

  • 長(zhǎng)度:最大65,535個(gè)字節(jié)。2^16 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要2個(gè)字節(jié),二進(jìn)制數(shù)據(jù)存儲(chǔ)在單獨(dú)的表中。

MEDIUMBLOB

  • 長(zhǎng)度:最大16,777,215個(gè)字節(jié)。2^24 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要3個(gè)字節(jié),二進(jìn)制數(shù)據(jù)存儲(chǔ)在單獨(dú)的表中。

LONGBLOB

  • 長(zhǎng)度:最大4,294,967,295個(gè)字節(jié)。2^32 − 1
  • 存儲(chǔ):存儲(chǔ)長(zhǎng)度需要4個(gè)字節(jié),二進(jìn)制數(shù)據(jù)存儲(chǔ)在單獨(dú)的表中。

TEXT和BLOB字段類型之間的主要區(qū)別?

  • 存儲(chǔ)內(nèi)容:
    TEXT:通常用于存儲(chǔ)長(zhǎng)文本內(nèi)容,如文章、評(píng)論等。
    BLOB:通常用于存儲(chǔ)二進(jìn)制數(shù)據(jù),如圖片、音頻、視頻等。
  • 最大長(zhǎng)度:
    TEXT:TINYTEXT 最多可存儲(chǔ) 255 個(gè)字符,TEXT 最多可存儲(chǔ) 65,535 個(gè)字符,MEDIUMTEXT 最多可存儲(chǔ) 16,777,215 個(gè)字符,LONGTEXT 最多可存儲(chǔ) 4,294,967,295 個(gè)字符。
    BLOB:TINYBLOB 最多可存儲(chǔ) 255 個(gè)字節(jié),BLOB 最多可存儲(chǔ) 65,535 個(gè)字節(jié),MEDIUMBLOB 最多可存儲(chǔ) 16,777,215 個(gè)字節(jié),LONGBLOB 最多可存儲(chǔ) 4,294,967,295 個(gè)字節(jié)。
  • 字符集和排序規(guī)則:
    TEXT:與字符集和排序規(guī)則相關(guān),因?yàn)樗鎯?chǔ)的是文本數(shù)據(jù)。
    BLOB:與字符集和排序規(guī)則無(wú)關(guān),因?yàn)樗鎯?chǔ)的是二進(jìn)制數(shù)據(jù)。
  • 存儲(chǔ)和檢索:
    TEXT:當(dāng)你存儲(chǔ)或檢索TEXT字段時(shí),MySQL會(huì)考慮字符集和排序規(guī)則。
    BLOB:對(duì)于BLOB字段,MySQL將其視為純粹的二進(jìn)制數(shù)據(jù),不會(huì)考慮字符集或排序規(guī)則。
  • 用途:
    TEXT:通常用于需要存儲(chǔ)和檢索大量文本數(shù)據(jù)的場(chǎng)景,如文章、評(píng)論等。
    BLOB:通常用于存儲(chǔ)大型二進(jìn)制對(duì)象,如圖片、音頻、視頻等,或者存儲(chǔ)與字符集和排序規(guī)則無(wú)關(guān)的數(shù)據(jù)。

選擇TEXT還是BLOB主要取決于你的數(shù)據(jù)需求和場(chǎng)景。如果你正在存儲(chǔ)大量的文本數(shù)據(jù),并且需要考慮到字符集和排序規(guī)則,那么TEXT可能是更好的選擇。如果你正在存儲(chǔ)大型二進(jìn)制對(duì)象或與字符集和排序規(guī)則無(wú)關(guān)的數(shù)據(jù),那么BLOB可能更適合你的需求。

三、浮點(diǎn)數(shù)

NUMERIC(M, D), DECIMAL(M, D)

  • 精度和標(biāo)度:M是精度(總位數(shù))從1到65,D是標(biāo)度(小數(shù)點(diǎn)后的位數(shù))從0到30。
  • 存儲(chǔ):取決于精度和標(biāo)度。根據(jù)指定的精度和標(biāo)度使用固定數(shù)量的字節(jié)。

FLOAT

FLOAT 是單精度浮點(diǎn)數(shù)數(shù)據(jù)類型,用于存儲(chǔ)近似值。

FLOAT 類型的數(shù)值可能會(huì)有舍入誤差,因?yàn)楦↑c(diǎn)數(shù)使用二進(jìn)制表示,無(wú)法精確表示某些十進(jìn)制小數(shù)。

存儲(chǔ):32位(4字節(jié))來(lái)存儲(chǔ)數(shù)值,并且可以存儲(chǔ)大約7位有效數(shù)字。

DOUBLE

DOUBLE 是雙精度浮點(diǎn)數(shù)數(shù)據(jù)類型,也用于存儲(chǔ)近似值。

與 FLOAT 類似,DOUBLE 類型的數(shù)值也可能會(huì)有舍入誤

存儲(chǔ):使用64位(8字節(jié))來(lái)存儲(chǔ)數(shù)值,并且可以存儲(chǔ)大約15位有效數(shù)字。

浮點(diǎn)數(shù)的區(qū)別?

DECIMAL 和 NUMERIC 是精確數(shù)值類型,用于需要精確計(jì)算的場(chǎng)景,如貨幣值。它們以字符串形式存儲(chǔ),不會(huì)引入舍入誤差。

FLOAT 和 DOUBLE 是浮點(diǎn)數(shù)類型,用于存儲(chǔ)近似值。它們使用二進(jìn)制表示,可能會(huì)有舍入誤差。

DECIMAL 和 NUMERIC 需要指定精度和標(biāo)度,而 FLOAT 和 DOUBLE 則不需要。

存儲(chǔ)大小方面,DECIMAL 和 NUMERIC 的存儲(chǔ)大小根據(jù)指定的精度和標(biāo)度而定,而 FLOAT 固定為4字節(jié),DOUBLE 固定為8字節(jié)。

四、總結(jié)

選擇字段的原則

  • 通常更小的更好

    應(yīng)該盡量使用可以正確存儲(chǔ)數(shù)據(jù)的最小數(shù)據(jù)類型,更小的數(shù)據(jù)類型通常更快,因?yàn)樗鼈冋加酶俚拇疟P、內(nèi)存和CPU緩存,并且處理時(shí)需要的CPU更少,但是要確保沒有低估需要存儲(chǔ)的值的范圍,如果無(wú)法確認(rèn)哪個(gè)數(shù)據(jù)類型,就選擇你認(rèn)為不會(huì)超過(guò)范圍的最小類型

  • 簡(jiǎn)單就好

    簡(jiǎn)單數(shù)據(jù)類型的操作,通常需要更少的CPU
    整型比字符操作代價(jià)更低,因?yàn)樽址淖址托?duì)規(guī)更復(fù)雜
    使用datetime類型,使用MySQL自建類型而不是字符串來(lái)存儲(chǔ)日期和時(shí)間
    用整型存儲(chǔ)IP地址,可以用函數(shù)把字符串轉(zhuǎn)成整型存,空間小,INET_ATON、INET_NTOA

  • 盡量避免null

    如果查詢中包含可為NULL的列,對(duì)MySQL來(lái)說(shuō)很難優(yōu)化,因?yàn)榭蔀閚ull的列使得索引、索引統(tǒng)計(jì)和值比較都更加復(fù)雜,坦白來(lái)說(shuō),通常情況下null的列改為not null帶來(lái)的性能提升比較小,所以沒有必要將所有的表的schema進(jìn)行修改,但是應(yīng)該盡量避免設(shè)計(jì)成可為null的列

int(1)定義的長(zhǎng)度影響寫入的長(zhǎng)度?

這里的int(1)插入123可以成功的,只要不超過(guò)int類型的表示范圍-2^31 - 2^31-1,所以說(shuō)字段括號(hào)的長(zhǎng)度是沒有意義的,不影響寫入長(zhǎng)度。

varchar(5)與varchar(255)保存同樣的內(nèi)容,有區(qū)別?

我們知道,varchar(n) ,n<=255使用額外一個(gè)字節(jié)保存長(zhǎng)度,n>255使用額外兩個(gè)字節(jié)保存長(zhǎng)度。實(shí)際上,兩者的硬盤存儲(chǔ)空間相同,但內(nèi)存空間占用不同,是括號(hào)的指定大小,因?yàn)閷⑿袕拇鎯?chǔ)引擎層復(fù)制到SQL層時(shí),varchar將轉(zhuǎn)換為字段char以獲得利用固定寬度行的優(yōu)勢(shì),因此,內(nèi)存中的字符串將填充到聲明的varchar列的最大長(zhǎng)度。

具體可以查閱,MySQL官方文檔:https://dev.mysql.com/doc/refman/5.7/en/data-types.html

MySQL5.0.3版本之后varchar類型的變化

1)、MySQL 5.0.3 之前:0-255字節(jié),如:varchar(20)中的20表示字節(jié)數(shù),如果存放utf-8編碼的話只能放6個(gè)漢字。varchar(n),這里的n表示字節(jié)數(shù)。

MySQL 5.0.3 之后:0-65535字節(jié),varchar(20)表示字符數(shù),不管什么編碼,既漢字也能放20個(gè)。但最多占65532字節(jié)(兩個(gè)字節(jié)存放長(zhǎng)度,小于255字節(jié)用1個(gè)字節(jié)存放長(zhǎng)度),varchar(n)這里的n表示

總結(jié) 

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)常見字段類型長(zhǎng)度匯總的文章就介紹到這了,更多相關(guān)MySQL常見字段類型長(zhǎng)度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于數(shù)據(jù)庫(kù)中保留小數(shù)位的問(wèn)題

    關(guān)于數(shù)據(jù)庫(kù)中保留小數(shù)位的問(wèn)題

    本篇文章是對(duì)關(guān)于在數(shù)據(jù)庫(kù)中保留小數(shù)位的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07
  • MySQL查詢、表操作與數(shù)據(jù)管理的操作指南

    MySQL查詢、表操作與數(shù)據(jù)管理的操作指南

    這篇文章給大家介紹了MySQL查詢、表操作與數(shù)據(jù)管理,從「數(shù)據(jù)查詢」「表的創(chuàng)建與數(shù)據(jù)管理」「表結(jié)構(gòu)修改與刪除」三個(gè)核心維度,講解了MySQL的實(shí)戰(zhàn)操作,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • mysql 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    mysql 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    這篇文章主要介紹了mysql 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Mysql表數(shù)據(jù)比較大情況下修改添加字段的方法實(shí)例

    Mysql表數(shù)據(jù)比較大情況下修改添加字段的方法實(shí)例

    最近遇到的一個(gè)問(wèn)題,需要在一張1800萬(wàn)數(shù)據(jù)量的表中添加加一個(gè)字段,所以這篇文章主要給大家介紹了關(guān)于Mysql表數(shù)據(jù)比較大情況下修改添加字段的方法,需要的朋友可以參考下
    2022-06-06
  • MySQL中獲取最大值MAX()函數(shù)和ORDER BY … LIMIT 1比較

    MySQL中獲取最大值MAX()函數(shù)和ORDER BY … LIMIT 1比較

    mysql取最大值的的是max 和order by兩種方式,同時(shí)也大多數(shù)人人為max的效率更高,在本文中,我們將介紹MySQL中MAX()和ORDER BY … LIMIT 1兩種獲取最大值的方法以及它們性能上的差異,同時(shí)我們將探討這種性能差異的原因,并提供一些優(yōu)化建議
    2024-03-03
  • MySQL連表查詢從基礎(chǔ)到實(shí)戰(zhàn)案例

    MySQL連表查詢從基礎(chǔ)到實(shí)戰(zhàn)案例

    本文介紹了MySQL連表查詢的各種類型,包括內(nèi)連接、左外連接、右外連接、全外連接、交叉連接和自連接,文章還討論了多表連接的性能優(yōu)化技巧,通過(guò)實(shí)戰(zhàn)案例和常見誤區(qū)的分析,幫助讀者更好地理解和應(yīng)用連表查詢,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Mysql設(shè)置主鍵自動(dòng)增長(zhǎng)起始值的方案總結(jié)

    Mysql設(shè)置主鍵自動(dòng)增長(zhǎng)起始值的方案總結(jié)

    在MySQL?中,當(dāng)主鍵定義為自增長(zhǎng)后,這個(gè)主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)定義自動(dòng)賦值,下面這篇文章主要給大家介紹了關(guān)于Mysql設(shè)置主鍵自動(dòng)增長(zhǎng)起始值的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • MySQL實(shí)現(xiàn)兩張表數(shù)據(jù)的同步

    MySQL實(shí)現(xiàn)兩張表數(shù)據(jù)的同步

    本文將介紹mysql 觸發(fā)器實(shí)現(xiàn)兩個(gè)表的數(shù)據(jù)同步,需要學(xué)習(xí)MySQL的童鞋可以參考。
    2016-10-10
  • mysql 5.7.18 zip版安裝配置方法圖文教程(win7)

    mysql 5.7.18 zip版安裝配置方法圖文教程(win7)

    這篇文章主要為大家詳細(xì)介紹了win7下mysql 5.7.8 zip版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • MYSQL加密和壓縮函數(shù)詳解以及實(shí)戰(zhàn)(附示例)

    MYSQL加密和壓縮函數(shù)詳解以及實(shí)戰(zhàn)(附示例)

    這篇文章主要給大家介紹了關(guān)于MYSQL加密和壓縮函數(shù)詳解以及實(shí)戰(zhàn)的相關(guān)資料,加密函數(shù)主要用來(lái)對(duì)數(shù)據(jù)進(jìn)行加密和界面處理,以保證某些重要數(shù)據(jù)不被別人獲取,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12

最新評(píng)論

永寿县| 抚远县| 博罗县| 东宁县| 普格县| 东丽区| 延庆县| 建阳市| 上栗县| 辉县市| 海安县| 海阳市| 荥阳市| 湖南省| 象山县| 固镇县| 舞钢市| 嘉定区| 房山区| 关岭| 鸡泽县| 且末县| 金塔县| 博罗县| 方城县| 弋阳县| 太仆寺旗| 西华县| 河北省| 巧家县| 卢湾区| 东乡族自治县| 永善县| 庆安县| 师宗县| 昌邑市| 民丰县| 盐津县| 兴隆县| 长泰县| 米林县|