Mysql中int(M)的含义
知識(shí)點(diǎn):int(M) M指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與存儲(chǔ)大小或類(lèi)型包含的值的范圍無(wú)關(guān)
所以int(10)與int(11)后的括號(hào)中的字符表示顯示寬度,整數(shù)列的顯示寬度與mysql需要用多少個(gè)字符來(lái)顯示該列數(shù)值,與該整數(shù)需要的存儲(chǔ)空間的大小都沒(méi)有關(guān)系,int類(lèi)型的字段能存儲(chǔ)的數(shù)據(jù)上限還是2147483647(有符號(hào)型)和4294967295(無(wú)符號(hào)型)。
1 bytes = 8 bit ,一個(gè)字節(jié)最多可以代表的數(shù)據(jù)長(zhǎng)度是2的8次方 11111111 在計(jì)算機(jī)中也就是-128到127
1.BIT[M]位字段類(lèi)型,M表示每個(gè)值的位數(shù),范圍從1到64,如果M被忽略,默認(rèn)為1
2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]??M默認(rèn)為4很小的整數(shù)。帶符號(hào)的范圍是-128到127。無(wú)符號(hào)的范圍是0到255。
3.?BOOL,BOOLEAN是TINYINT(1)的同義詞。zero值被視為假。非zero值視為真。
4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為6 小的整數(shù)。帶符號(hào)的范圍是-32768到32767。無(wú)符號(hào)的范圍是0到65535。
5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為9 中等大小的整數(shù)。帶符號(hào)的范圍是-8388608到8388607。無(wú)符號(hào)的范圍是0到16777215。
6.?INT[(M)] [UNSIGNED] [ZEROFILL]???M默認(rèn)為11
普通大小的整數(shù)。帶符號(hào)的范圍是-2147483648到2147483647。無(wú)符號(hào)的范圍是0到4294967295。
7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認(rèn)為20
大整數(shù)。帶符號(hào)的范圍是-9223372036854775808到9223372036854775807。無(wú)符號(hào)的范圍是0到18446744073709551615。
注意:這里的M代表的并不是存儲(chǔ)在數(shù)據(jù)庫(kù)中的具體的長(zhǎng)度,以前總是會(huì)誤以為int(3)只能存儲(chǔ)3個(gè)長(zhǎng)度的數(shù)字,int(11)就會(huì)存儲(chǔ)11個(gè)長(zhǎng)度的數(shù)字,這是大錯(cuò)特錯(cuò)的。
使用int的類(lèi)型的時(shí)候,不論是int(3)還是int(11)在數(shù)據(jù)庫(kù)里面存儲(chǔ)的都是4個(gè)字節(jié)的長(zhǎng)度,在使用int(3)的時(shí)候如果你輸入的是10,會(huì)默認(rèn)給你存儲(chǔ)位010,也就是說(shuō)這個(gè)3代表的是默認(rèn)的一個(gè)長(zhǎng)度,當(dāng)你不足3位時(shí),會(huì)幫你不全,當(dāng)你超過(guò)3位時(shí),就沒(méi)有任何的影響。因此存儲(chǔ)的時(shí)候稍微有點(diǎn)區(qū)別外,使用的時(shí)候是沒(méi)有任何區(qū)別的
要查看出不同效果記得在創(chuàng)建類(lèi)型的時(shí)候加 zerofill這個(gè)值,表示用0填充,否則看不出效果的。
(我們通常在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候都不會(huì)加入這個(gè)選項(xiàng),所以可以說(shuō)他們之間是沒(méi)有區(qū)別的)
?
下面的表顯示了需要的每個(gè)整數(shù)類(lèi)型的存儲(chǔ)和范圍。
| 類(lèi)型 | 字節(jié) | 最小值 | 最大值 |
| ? | ? | (帶符號(hào)的/無(wú)符號(hào)的) | (帶符號(hào)的/無(wú)符號(hào)的) |
| TINYINT | 1 | -128 | 127 |
| ? | ? | 0 | 255 |
| SMALLINT | 2 | -32768 | 32767 |
| ? | ? | 0 | 65535 |
| MEDIUMINT | 3 | -8388608 | 8388607 |
| ? | ? | 0 | 16777215 |
| INT | 4 | -2147483648 | 2147483647 |
| ? | ? | 0 | 4294967295 |
| BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
| ? | ? | 0 | 18446744073709551615 |
參考:?http://hi.baidu.com/nancy0754/blog/item/2f3ea13a957a27d7d5622535.html
總結(jié)
以上是生活随笔為你收集整理的Mysql中int(M)的含义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea 修改hosts
- 下一篇: 天天生鲜项目总结