天天看點

mysql中int(11)長度

mysql中int(1)和int(11)差別呢,按理來講int定義之後長度不受我們設定的限制了,那麼mysql中int(1)和int(11)差別是什麼呢?

mysql字段定義中INT(x)中的x僅僅指的是顯示寬度。該可選顯示寬度規定用于顯示寬度小于指定的列寬度的值時從左側填滿寬度。顯示寬度并不限制可以在列内儲存的值的範圍,也不限制超過列的指定寬度的值的顯示。是以x的定義與存儲空間沒有任何關系都是4個位元組。

作為SQL标準的擴充,MySQL也支援整數類型TINYINT、MEDIUMINT和BIGINT。

在SQL語句中int代表你要建立字段的類型,int代表整型,11代表字段的長度。

 這個11代表顯示寬度,整數列的顯示寬度與mysql需要用多少個字元來顯示該列數值,與該整數需要的存儲空間的大小都沒有關系,比如,不管設定了顯示寬度是多少個字元,bigint都要占用8個位元組。

  int是整型,(11)是指顯示字元的長度,但要加參數的,最大為255,比如它是記錄行數的id,插入10筆資料,它就顯示00000000001 ~~~00000000010,當字元的位數超過11,它也隻顯示11位,如果你沒有加那個讓它未滿11位就前面加0的參數,它不會在前面加0

  聲明整型資料列時,我們可以為它指定個顯示寬度M(1~255),如INT(5),指定顯示寬度為5個字元,如果沒有給它指定顯示寬度,MySQL會為它指定一個預設值。顯示寬度隻用于顯示,并不能限制取值範圍和占用空間,如:INT(3)會占用4個位元組的存儲空間,并且允許的最大值也不會是999,而是 INT整型所允許的最大值。

  MySQL有五種整型資料列類型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。它們之間的差別是取值範圍不同,存儲空間也各不相同。

在整型資料列後加上UNSIGNED屬性可以禁止負數,取值從0開始。