《Mysql學習mysql int(3)與int(11)的區別詳解》要點:
本文介紹了Mysql學習mysql int(3)與int(11)的區別詳解,希望對您有用。如果有疑問,可以聯系我們。
mysql int(3)與int(11)的區別MYSQL入門
總結,int(M) zerofill,加上zerofill后M才表現出有點點效果,比如 int(3) zerofill,你插入到數據庫里的是10,則實際插入為010,也就是在前面補充加了一個0.如果int(3)和int(10)不加zerofill,則它們沒有什么區別.M不是用來限制int個數的.int(M)的最大值和最小值與undesigned有關,最下面那副圖有說明.MYSQL入門
mysql> create table t (t int(3) zerofill);
Query OK, 0 rows affected (0.00 sec)MYSQL入門
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.00 sec)MYSQL入門
mysql> select * from t;
MYSQL入門
+――+
| t |
+――+
| 010 |
+――+
MYSQL入門
1 row in set (0.11 sec)MYSQL入門
Zerofill with default width, the same as int(10):MYSQL入門
mysql> create table t (t int zerofill);
Query OK, 0 rows affected (0.02 sec)MYSQL入門
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.02 sec)MYSQL入門
mysql> select * from t;
MYSQL入門
+――――+
| t |
+――――+
| 0000000010 |
+――――+
MYSQL入門
1 row in set (0.08 sec)MYSQL入門
Without zerofill:MYSQL入門
mysql> create table t (t int);
Query OK, 0 rows affected (0.01 sec)MYSQL入門
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.01 sec)MYSQL入門
mysql> select * from t;
MYSQL入門
+――+
| t |
+――+
| 10 |
+――+MYSQL入門
1 row in set (0.00 sec)MYSQL入門
MYSQL入門
以上轉載自 http://hi.baidu.com/nancy0754/blog/item/2f3ea13a957a27d7d5622535.htmlMYSQL入門
1 bytes = 8 bit ,一個字節最多可以代表的數據長度是2的8次方 11111111 在計算機中也就是MYSQL入門
-128到127MYSQL入門
1.BIT[M]MYSQL入門
位字段類型,M表示每個值的位數,范圍從1到64,如果M被忽略,默認為1MYSQL入門
2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]? M默認為4MYSQL入門
很小的整數.帶符號的范圍是-128到127.無符號的范圍是0到255.MYSQL入門
3. BOOL,BOOLEANMYSQL入門
是TINYINT(1)的同義詞.zero值被視為假.非zero值視為真.MYSQL入門
4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認為6MYSQL入門
小的整數.帶符號的范圍是-32768到32767.無符號的范圍是0到65535.MYSQL入門
5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認為9MYSQL入門
中等大小的整數.帶符號的范圍是-8388608到8388607.無符號的范圍是0到16777215.MYSQL入門
6. INT[(M)] [UNSIGNED] [ZEROFILL]?? M默認為11MYSQL入門
普通大小的整數.帶符號的范圍是-2147483648到2147483647.無符號的范圍是0到4294967295.MYSQL入門
7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認為20MYSQL入門
大整數.帶符號的范圍是-9223372036854775808到9223372036854775807.無符號的范圍是0到18446744073709551615.MYSQL入門
注意:這里的M代表的并不是存儲在數據庫中的具體的長度,以前總是會誤以為int(3)只能存儲3個長度的數字,int(11)就會存儲11個長度的數字,這是大錯特錯的.MYSQL入門
其實當我們在選擇使用int的類型的時候,不論是int(3)還是int(11),它在數據庫里面存儲的都是4個字節的長度,在使用int(3)的時候如果你輸入的是10,會默認給你存儲位010,也就是說這個3代表的是默認的一個長度,當你不足3位時,會幫你不全,當你超過3位時,就沒有任何的影響.MYSQL入門
前天組管問我 int(10)與int(11)有什么區別,當時覺得就是長度的區別吧,現在看,他們之間除了在存儲的時候稍微有點區別外,在我們使用的時候是沒有任何區別的.int(10)也可以代表2147483647這個值int(11)也可以代表.MYSQL入門
要查看出不同效果記得在創建類型的時候加 zerofill這個值,表示用0填充,否則看不出效果的.MYSQL入門
我們通常在創建數據庫的時候都不會加入這個選項,所以可以說他們之間是沒有區別的.MYSQL入門
That which didn't kill me makes me strongerMYSQL入門
謝謝大家對本文的閱讀,希望能贊助到大家,謝謝對本站的支持!MYSQL入門
《Mysql學習mysql int(3)與int(11)的區別詳解》是否對您有啟發,歡迎查看更多與《Mysql學習mysql int(3)與int(11)的區別詳解》相關教程,學精學透。維易PHP學院為您提供精彩教程。