mysql整型int(M)

類型 字節(jié) 最大值 最小值
(帶負(fù)號(hào)的/無負(fù)號(hào)的) (帶負(fù)號(hào)的/無負(fù)號(hào)的)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 63335
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

說明:
整數(shù)類型后面跟的是顯示的寬度。M指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與存儲(chǔ)大小或類型包含的值的范圍無關(guān)。

1.創(chuàng)建表

mysql> create table int_test(a int(1) unsigned not null,
b int,c int(20) unsigned zerofill);
Query OK, 0 rows affected (0.01 sec)
mysql> show create table int_test;
+----------+-------------------------------
-------------------------------------------
| Table    | Create Table

+----------+-------------------------------
-------------------------------------------
| int_test | CREATE TABLE `int_test` (
  `a` int(1) unsigned NOT NULL,
  `b` int(11) DEFAULT NULL,
  `c` int(20) unsigned zerofill DEFAULT NUL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+----------+-------------------------------
-------------------------------------------
1 row in set (0.00 sec)

mysql>

2.插入數(shù)據(jù)

mysql> insert into int_test values(23,99999,123456789);
Query OK, 1 row affected (0.01 sec)

mysql> select * from int_test;
+----+-------+----------------------+
| a  | b     | c                    |
+----+-------+----------------------+
| 23 | 99999 | 00000000000123456789 |
+----+-------+----------------------+
1 row in set (0.00 sec)

注意:
int(M),
這里的M代表的并不是存儲(chǔ)在數(shù)據(jù)庫中的具體的長(zhǎng)度,以前總是會(huì)誤以為int(1)只能存儲(chǔ)1個(gè)長(zhǎng)度的數(shù)字,int(20)就會(huì)存儲(chǔ)20個(gè)長(zhǎng)度的數(shù)字,這是大錯(cuò)特錯(cuò)的。
tinyint(1) 和 tinyint(20) 中的1和20并不表示存儲(chǔ)長(zhǎng)度,只有字段指定zerofill是有用,
如tinyint(20),如果實(shí)際值是123456789,如果列指定了zerofill,查詢結(jié)果就是00000000000123456789,左邊用0來填充。


補(bǔ)充(char和varchar的區(qū)別):
char是一種固定長(zhǎng)度的類型,varchar則是一種可變長(zhǎng)度的類型,它們的區(qū)別是:
char(M)類型的數(shù)據(jù)列里,每個(gè)值都占用M個(gè)字節(jié),如果某個(gè)長(zhǎng)度小于M,MySQL就會(huì)在它的右邊用空格字符補(bǔ)足。(在檢索操作中那些填補(bǔ)出來的空格字符將被去掉)
在varchar(M)類型的數(shù)據(jù)列里,每個(gè)值只占用剛好夠用的字節(jié)再加上一個(gè)用來記錄其長(zhǎng)度的字節(jié)(即總長(zhǎng)度為L(zhǎng)+1字節(jié))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容