您好,登錄后才能下訂單哦!
本篇內容主要講解“mysql int指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql int指的是什么”吧!
在mysql中,int是標準整數類型,可以代表普通大小的整數。int數據類型占4個字節,可以是有符號和無符號的,有符號時的存儲范圍為“-2147483648~2147483647”,無符號時的存儲范圍為“0~4294967295”;設置int類型的字段可以具有AUTO_INCREMENT屬性,實現序列值自增長。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
mysql int類型
在mysql中,int是標準整數類型,可以代表普通大小的整數,占4個字節。可以在沒有分數分量的情況下寫入整數,例如,它是1,100,4,-10等,并且它不能是1.2,5 / 3等。整數可以是零,正和負。
MySQL支持所有標準SQL整數類型INTEGER或INT和SMALLINT。另外,MySQL提供 了標準SQL TINYINT MEDIUMINT,并BIGINT 作為標準SQL的擴展。
MySQL INT 數據類型可以是有符號和無符號的。下表說明了每種整數類型的特征,包括以字節為單位的存儲,最小值和最大值。
類型 | 存儲(字節) | 有符號 | 無符號 | ||
---|---|---|---|---|---|
最小值 | 最大值 | 最小值 | 最大值 | ||
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) |
在列中使用INT
因為整數類型表示確切的數字,所以通常將它用作表的主鍵。此外,INT列可以具有 AUTO_INCREMENT 屬性。
當你 插入一個NULL值或0到INT AUTO_INCREMENT列,列的值設置為下一個序列值。請注意,序列值以1開頭。
當您向AUTO_INCREMENT列中插入一個非零或零值時,列將接受NULL值。此外,序列被重置為插入值的下一個值。
讓我們看一個使用帶AUTO_INCREMENT 屬性的整數列的表的示例 。
首先,使用以下語句創建一個新表items以整數列作為主鍵:
CREATE TABLE items ( item_id INT AUTO_INCREMENT PRIMARY KEY, item_text VARCHAR(255) );
您可以在CREATE TABLE上使用INT或INTEGER,因為它們相等的。無論何時向items表中插入新行,item_id列的值都會增加1。
接下來,以下INSERT語句在items表中插入三行。
INSERT INTO items(item_text) VALUES('laptop'), ('mouse'),('headphone');
然后,使用以下SELECT語句從items表中查詢數據:
SELECT * FROM items;
之后,插入一個新行,明確指定item_id的值。
INSERT INTO items(item_id,item_text) VALUES(10,'Server');
由于item_id列的當前值為 10,序列將重置為11.如果插入新行,則AUTO_INCREMENT列將使用11作為下一個值。
INSERT INTO items(item_text) VALUES('Router');
最后,再次查詢items表的數據以查看結果。
SELECT * FROM items;
注意:自MySQL 5.1以來,AUTO_INCREMENT列僅接受正值。AUTO_INCREMENT列不支持負值 。
MySQL INT和顯示寬度屬性
MySQL提供了一個擴展,允許您指定顯示寬度和INT數據類型。顯示寬度包含在INT關鍵字后面的括號內,例如,INT(5)指定INT顯示寬度為五位的a。
請務必注意,display width屬性不控制列可以存儲的值范圍。應用程序通常使用display width屬性來格式化整數值。MySQL包含display width屬性作為返回結果集的元數據。
MySQL INT具有ZEROFILL屬性
除了顯示寬度,MySQL還提供了非標準ZEROFILL 屬性。在這種情況下,MySQL將空格替換為零。請考慮以下示例。
首先,zerofill_tests使用以下語句創建一個名為的表:
CREATE TABLE zerofill_tests( id INT AUTO_INCREMENT PRIMARY KEY, v1 INT(2) ZEROFILL, v2 INT(3) ZEROFILL, v3 INT(5) ZEROFILL );
其次,在zerofill_tests表中插入一個新行。
INSERT into zerofill_tests(v1,v2,v3) VALUES(1,6,9);
第三,從zerofill_tests表中查詢數據。
SELECT v1, v2, v3 FROM zerofill_tests;
v1列的顯示寬度為2的ZEROFILL.因此它的值為1,因此,您可以在輸出中看到01。MySQL將第一個空格替換為0。
v2列的顯示寬度為3的 ZEROFILL。因此,它的值為6,其它值以00填充。
v3列的顯示寬度為5 的ZEROFILL,而其值為9,因此MySQL 在輸出中的0000數字的開頭填充。
注意:如果ZEROFILL對整數列使用屬性,MySQL將自動向列添加 UNSIGNED屬性。
到此,相信大家對“mysql int指的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。