日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中int(m)_mysql中int(M) tinyint(M)中M的作用

發布時間:2025/3/15 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中int(m)_mysql中int(M) tinyint(M)中M的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原先對mysql不太理解,但也沒有報錯。但理解的不夠深入。這次補上。

原來以為int(11)是指11個字節,int(10)就是10個字節。我錯了。

http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17Lu69vxv2aR99_

mysql的基本數據類型里幾個int如下:

類型 大小 范圍(有符號) 范圍(無符號) 用途

TINYINT 1字節 (-128,127) (0,255) 小整數值

SMALLINT 2 字節 (?-2^15 :-32 768,2^15 - 1:32 767) (0,65 535) 大整數值

MEDIUMINT 3 字節 (-8 388 608,8 388 607) (0,16 777 215) 大整數值

INT或INTEGER(int 的 SQL-92 同義字為 integer) 4 字節 (-2^31:-2 147 483 648,?2^31 - 1:2 147 483 647) (0,4 294 967 295) 大整數值

BIGINT 8 字節 (-2^63:-9 233 372 036 854 775 808,2^63-1:9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數值

這些類型,是定長的,其容量是不會隨著后面的數字而變化的,比如int(11)和int(8),都是一樣的占4字節。tinyint(1)和tinyint(10)也都占用一個字節。

那么后面的11和8,有啥用呢。

http://zhidao.baidu.com/link?url=b0Z-WIhggaErl3uhMrAhoEXQG_3zotyd7r31O3RXSYiFJo1Cad-NeWN8cFXZFI50yVG_lpKooT7OjLhIa20ephKFJYD-fV9ZAv_o63AfyVq

mysql數據庫中以 :數據類型(m) ?來約束數據,其中 數字m在不同的數據類型中表示含義是不同的。 咱們這里只講整數。

整型數系統已經限制了取值范圍,tinyint占1個字節、int占4個字節。所以整型數后面的m不是表示的數據長度,而是表示數據在顯示時顯示的最小長度。

tinyint(1) 這里的1表示的是 最短顯示一個字符。tinyint(2) 這里的2表示的是 最短顯示兩個字符。

當字符長度超過(m)時,相當于啥都沒發生;

當字符長度小于(m)時,就需要指定拿某個字符來填充,比如zerofill(表示用0填充),

設置tinyint(2) zerofill 你插入1時他會顯示01;設置tinyint(4) zerofill 你插入1時他會顯示0001。

所以,沒有zerofill,(m)就是無用的。

http://blog.csdn.net/phpwish/article/details/7845921

綜上整型的數據類型括號內的數字不管是多少,所占的存儲空間都固定的。

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html

mysql 中int(1)和tinyint(1)中的1只是指定顯示長度,并不表示存儲長度,只有字段指定zerofill時有用。

位數限制基本沒有意義。

在mysql中我做過實驗,對于一個tinyint類型的字段,不管它是tinyint(1)還是tinyint(2)還是tinyint(3),

當你插入大于127的數,都會存入127。跟上文中的結論是一樣的。

總結:int(11),tinyint(1),bigint(20),后面的數字,不代表占用空間容量。而代表最小顯示位數。這個東西基本沒有意義,除非你對字段指定zerofill。

所以我們在設計mysql數據庫時,

建表時,mysql會自動分配長度:int(11)、tinyint(4)、smallint(6)、mediumint(9)、bigint(20)。

所以,就用這些默認的顯示長度就可以了。不用再去自己填長度,比如搞個int(10)、tinyint(1)之類的,基本沒用。而且導致表的字段類型多樣化。

總結

以上是生活随笔為你收集整理的mysql中int(m)_mysql中int(M) tinyint(M)中M的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。