日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
包含mysql中int怎么寫的詞條

MySQL int 類型的長(zhǎng)度和范圍解惑

Mysql 建表過(guò)程中:

創(chuàng)新互聯(lián)主營(yíng)固始網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,固始h5小程序定制開(kāi)發(fā)搭建,固始網(wǎng)站營(yíng)銷推廣歡迎固始等地區(qū)企業(yè)咨詢

MySQL中int類型占用4個(gè)字節(jié)[byte(B)],1B有8個(gè)位[bit(b)],一個(gè)位(b)就代表一個(gè)0或者1,那么MySQL中int占用4B,對(duì)應(yīng)位就是 4*8b = 32b 了,也就是說(shuō) int 表示的數(shù)字 個(gè)數(shù) 是: 2的32次方。

因?yàn)樽止?jié)分有符號(hào)和無(wú)符號(hào)兩種,于是 int 有符號(hào) 的 范圍就是 -2的31次方 到 2的31次方減去1 [?1 為什么不是32次方?] [?2 為什么要減去1?],即 -2147483648 ~ 2147483647; int 無(wú)符號(hào)(unsigned) 的 范圍就是 0 到 2的32次方減去1。

知道了 int 類型的范圍后,我們?cè)賮?lái)看看長(zhǎng)度是什么意思。 在MySQL手冊(cè)中,字段類型的長(zhǎng)度用 “M” 表示,表示最大顯示寬度。 int 的 最大有效顯示寬度是 255。 注意: 此處表示 顯示寬度 和 存儲(chǔ)大小或類型及范圍 無(wú)關(guān)

參考:

1、

簡(jiǎn)單談?wù)凪ySQL中的int(m)

我們?cè)谠O(shè)計(jì)表的時(shí)候,如果碰到需要設(shè)置int(整型)的時(shí)候,通常會(huì)按照慣例(大家都這樣寫)設(shè)置成int(11)。那么這里為什么是11呢?代表的又是什么呢?

以前我一直以為這里是在限制int顯示的寬度,后來(lái)仔細(xì)研究和通過(guò)上網(wǎng)查詢發(fā)現(xiàn),事實(shí)并不是那樣的。

確切的來(lái)說(shuō),這里的“寬度”只是一個(gè)“預(yù)期值”,它所代表的僅僅是你在設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)時(shí),想讓該列日后顯示的值寬度為多少,但是具體存入值的寬度多少不會(huì)受任何影響。

當(dāng)然,它的作用不僅如此,在存入數(shù)據(jù)的時(shí)候,還是有一定區(qū)別的,這一點(diǎn)可以通過(guò)設(shè)置字段的zerofill可以看出。比如這里我們創(chuàng)建一個(gè)數(shù)據(jù)表,結(jié)構(gòu)如下:

create

table

test

(

num

int(5)

zerofill

);

上面代碼創(chuàng)建一個(gè)名為test的表,結(jié)構(gòu)很簡(jiǎn)單,表中只有一個(gè)名為num的字段,類型為int,寬度為5,為了看出寬度方便,我們又添加一個(gè)zerofill屬性(該屬性會(huì)讓存入數(shù)值在不足寬度情況下,左側(cè)補(bǔ)0)

然后我們開(kāi)始插入數(shù)據(jù):

mysql

insert

into

test

values(1),(11),(123),(12345),(123456),(1234567);

Query

OK,

6

rows

affected

(0.00

sec)

Records:

6

Duplicates:

Warnings:

打印結(jié)果:

mysql

select

*

from

test;

+---------+

|

num

|

+---------+

|

00001

|

|

00011

|

|

00123

|

|

12345

|

|

123456

|

|

1234567

|

+---------+

6

rows

in

set

(0.00

sec)

由以上結(jié)果,不難看出,如果字符少于設(shè)置(期望值)寬度,在設(shè)置了zerofill屬性的情況下,左側(cè)會(huì)統(tǒng)統(tǒng)補(bǔ)0;但是如果超出則不受任何影響。也就是說(shuō)這里的int(m)中m只是一個(gè)預(yù)期值,和真實(shí)數(shù)據(jù)寬度并沒(méi)多大關(guān)系。

mysql int(3)為什么可以寫五位數(shù)

mysql int(3)可以寫五位數(shù)是后面的3決定的。例如:mysql int(M)在 int(M) 中,M 的值跟 int(M) 所占多少存儲(chǔ)空間并無(wú)任何關(guān)系。 int(3)、int(4)、int(8) 在磁盤上都是占用 4 btyes 的存儲(chǔ)空間。說(shuō)白了,除了顯示給用戶的方式有點(diǎn)不同外,int(M) 跟 int 數(shù)據(jù)類型是相同的。其中M就表示最大顯示寬度。而mysql int(3)最大寬度能夠?qū)懳逦粩?shù)。int類型,占用字節(jié)數(shù)為4byte,學(xué)過(guò)計(jì)算機(jī)原理的同學(xué)應(yīng)該知道,字節(jié)(byte)并非是計(jì)算機(jī)存儲(chǔ)的最小單位,還有比字節(jié)(byte)更小的單位,也就是位(bit),一個(gè)位就代表一個(gè)0或1,8個(gè)位組成一個(gè)字節(jié),一般字節(jié)用大寫B(tài)來(lái)表示byte, 位用小寫b來(lái)表示bit。

mysql中10-3怎么寫

Mysql數(shù)據(jù)表定義中我們經(jīng)常用int(M),這個(gè)M默認(rèn)是11,我們可以寫10,或者3這個(gè)東西對(duì)于mysql存儲(chǔ)的數(shù)值沒(méi)有任何影響,mysql存儲(chǔ)的數(shù)值范圍如下所示(32位系統(tǒng)),這個(gè)定義的唯一作用,需要與zerofill配合使用,如果啟用了zerofill,就是當(dāng)數(shù)值的位數(shù)M的時(shí)候沒(méi)有任何作用,如果啟用了zerofill,程序中對(duì)查詢出的int值需要做intval處理才能正確使用,其實(shí)是一件比較坑爹的事情,所以基本沒(méi)有人這么用總結(jié)一句話就是,int(M),M其實(shí)對(duì)我們沒(méi)有任何影響,建議大家定義表結(jié)構(gòu)時(shí)忽略此值


網(wǎng)站題目:包含mysql中int怎么寫的詞條
URL地址:http://www.dlmjj.cn/article/ddodjdg.html