在mysql中,int是標(biāo)準(zhǔn)整數(shù)類型,可以代表普通大小的整數(shù)。int數(shù)據(jù)類型占4個(gè)字節(jié),可以是有符號(hào)和無符號(hào)的,有符號(hào)時(shí)的存儲(chǔ)范圍為“-2147483648~2147483647”,無符號(hào)時(shí)的存儲(chǔ)范圍為“0~4294967295”;設(shè)置int類型的字段可以具有AUTO_INCREMENT屬性,實(shí)現(xiàn)序列值自增長。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
mysql int類型
在mysql中,int是標(biāo)準(zhǔn)整數(shù)類型,可以代表普通大小的整數(shù),占4個(gè)字節(jié)。設(shè)置int類型的字段可以具有AUTO_INCREMENT屬性,實(shí)現(xiàn)序列值自增長。
MySQL支持所有標(biāo)準(zhǔn)SQL整數(shù)類型INTEGER或INT和SMALLINT。另外,MySQL提供 了標(biāo)準(zhǔn)SQL TINYINT MEDIUMINT,并BIGINT 作為標(biāo)準(zhǔn)SQL的擴(kuò)展。
MySQL INT 數(shù)據(jù)類型可以是有符號(hào)和無符號(hào)的。下表說明了每種整數(shù)類型的特征,包括以字節(jié)為單位的存儲(chǔ),最小值和最大值。
類型 | 存儲(chǔ)(字節(jié)) | 有符號(hào) | 無符號(hào) | ||
---|---|---|---|---|---|
最小值 | 最大值 | 最小值 | 最大值 | ||
TINYINT | 1 | -128(-24) | 127(24) | 0 | 255(28) |
SMALLINT | 2 | -32768(-28) | 32767(-28) | 0 | 65535(-216) |
MEDIUMINT | 3 | -8388608(-212) | 8388607(-212) | 0 | 16777215(-224) |
INT | 4 | -2147483648(-216) | 2147483647(-216) | 0 | 4294967295(-232) |
BIGINT | 8 | -9223372036854775808(-232) | 9223372036854775807(-232) | 0 | 18446744073709551615(-264) |
MySQL INT和顯示寬度屬性
MySQL提供了一個(gè)擴(kuò)展,允許您指定顯示寬度和INT數(shù)據(jù)類型。顯示寬度包含在INT關(guān)鍵字后面的括號(hào)內(nèi),例如,INT(5)指定INT顯示寬度為五位的a。
請(qǐng)務(wù)必注意,display width屬性不控制列可以存儲(chǔ)的值范圍。應(yīng)用程序通常使用display width屬性來格式化整數(shù)值。MySQL包含display width屬性作為返回結(jié)果集的元數(shù)據(jù)。
MySQL INT具有ZEROFILL屬性
除了顯示寬度,MySQL還提供了非標(biāo)準(zhǔn)ZEROFILL 屬性。在這種情況下,MySQL將空格替換為零。請(qǐng)考慮以下示例。
首先,zerofill_tests使用以下語句創(chuàng)建一個(gè)名為的表:
CREATE TABLE zerofill_tests( id INT AUTO_INCREMENT PRIMARY KEY, v1 INT(2) ZEROFILL, v2 INT(3) ZEROFILL, v3 INT(5) ZEROFILL );
其次,在zerofill_tests表中插入一個(gè)新行。
INSERT into zerofill_tests(v1,v2,v3) VALUES(1,6,9);
第三,從zerofill_tests表中查詢數(shù)據(jù)。
SELECT v1, v2, v3 FROM zerofill_tests;
v1列的顯示寬度為2的ZEROFILL.因此它的值為1,因此,您可以在輸出中看到01。MySQL將第一個(gè)空格替換為0。
v2列的顯示寬度為3的 ZEROFILL。因此,它的值為6,其它值以00填充。
v3列的顯示寬度為5 的ZEROFILL,而其值為9,因此MySQL 在輸出中的0000數(shù)字的開頭填充。
注意:如果ZEROFILL對(duì)整數(shù)列使用屬性,MySQL將自動(dòng)向列添加 UNSIGNED屬性。
【