溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

發(fā)布時間:2022-02-23 14:03:30 來源:億速云 閱讀:1081 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1. varchar(M)和數(shù)值類型tinyint(M) 的區(qū)別

        字符串類型:varchar(M)而言,M是字段中可以存儲的最大字符串,也就是說字段長度。根據(jù)設(shè)置,當(dāng)你插入的數(shù)值超過字段設(shè)置的長度時,很有可能會收到錯誤提示,如果沒有收到提示,插入的數(shù)據(jù)也有可能被自動的截斷以適應(yīng)該字段的預(yù)定義長度。所有像varchar(5)表示其存儲的字符串長度不能超過5。

        數(shù)值列類型:其長度修飾符表示最大寬度,與該字段物理存儲沒有任何關(guān)系,也就是說,tinyint(1)和tinyint(4)有符號的情況下存儲范圍都是-128到127(沒有符號就是0到255)。

注意:有符號默認(rèn)范圍(-128~127),默認(rèn)長度是4.

           無符號默認(rèn)范圍(0~255),默認(rèn)長度是3.

如果使用了zerofill,當(dāng)實際長度達(dá)不到指定的顯示長度時,就會用0在前面補(bǔ)齊。

在mysql的數(shù)據(jù)類型中,tinyin與其帶不帶符號有關(guān)系,帶符號取值范圍為-128~127.不帶符號為0~255。tinyint后面括號的數(shù)字,和存儲的值沒有任何關(guān)系,只是在某些情況下和顯示的寬度有關(guān)系。 

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

2 測試

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

當(dāng)將字符串類型的name字段設(shè)置的長度超過5會怎樣?

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

當(dāng)將tinyint類型的(有符號)age字段設(shè)置范圍不在(-128~127)會怎樣?

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么

1 bytes = 8 bit ,一個字節(jié)最多可以代表的數(shù)據(jù)長度是2的8次方 11111111 在計算機(jī)中也就是

-128到127

1.BIT[M]

位字段類型,M表示每個值的位數(shù),范圍從1到64,如果M被忽略,默認(rèn)為1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M默認(rèn)為4

很小的整數(shù)。帶符號的范圍是-128到127。無符號的范圍是0到255。

3. BOOL,BOOLEAN

是TINYINT(1)的同義詞。zero值被視為假。非zero值視為真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為6

小的整數(shù)。帶符號的范圍是-32768到32767。無符號的范圍是0到65535。

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為9

中等大小的整數(shù)。帶符號的范圍是-8388608到8388607。無符號的范圍是0到16777215。

6. INT[(M)] [UNSIGNED] [ZEROFILL]   M默認(rèn)為11

普通大小的整數(shù)。帶符號的范圍是-2147483648到2147483647。無符號的范圍是0到4294967295。

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為20

大整數(shù)。帶符號的范圍是-9223372036854775808到9223372036854775807。無符號的范圍是0到18446744073709551615。

注意:這里的M代表的并不是存儲在數(shù)據(jù)庫中的具體的長度,以前總是會誤以為int(3)只能存儲3個長度的數(shù)字,int(11)就會存儲11個長度的數(shù)字,這是大錯特錯的。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Mysql中tinyint(1)和tinyint(4)的區(qū)別是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI