官方幫助:integer types (exact value) - integer, int, smallint, tinyint, mediumint, bigint
整數型別又稱數值型資料,數值型資料型別主要用來儲存數字。
mysql 提供了多種數值型資料型別,不同的資料型別提供不同的取值範圍,可以儲存的值範圍越大,所需的儲存空間也會越大。
mysql 主要提供的整數型別有tinyint
、smallint
、mediumint
、int
、bigint
,其屬性字段可以新增auto_increment
自增約束條件。下表中列出了 mysql 中的數值型別。
型別名稱
說明儲存需求
tinyint
很小的整數
1個位元組
smallint
小的整數
2個宇節
mediumint
中等大小的整數
3個位元組
int (integhr)
普通大小的整數
4個位元組
bigint
大整數8個位元組
從上表中可以看到,不同型別的整數儲存所需的位元組數不相同,占用位元組數最小的是 tinyint 型別,占用位元組最大的是 bigint 型別,占用的位元組越多的型別所能表示的數值範圍越大。
根據占用位元組數可以求出每一種資料型別的取值範圍。例如,tinyint 需要 1 個位元組(8bit)來儲存,那麼 tinyint 無符號數的最大值為28−
12^8-1
28−1
,即 255;tinyint 有符號數的最大值為27−
12^7-1
27−1
,即127。其他型別的整數的取值範圍計算方法相同,如下表所示。
型別名稱
有符號型取值範圍
無符號型取值範圍
tinyint
-128〜127
0 〜255
smallint
-32768〜32767
0〜65535
mediumint
-8388608〜8388607
0〜16777215
int (integer)
-2147483648〜2147483647
0〜4294967295
bigint
-9223372036854775808〜9223372036854775807
0〜18446744073709551615
其他整型資料型別也可以在定義表結構時指定所需的顯示寬度,如果不指定,則系統為每一種型別指定預設的寬度值。
不同的整數型別有不同的取值範圍,並且需要不同的儲存空間,因此應根據實際需要選擇最合適的型別,這樣有利於提高查詢的效率和節省儲存空間。
建立欄位的時候打鉤無符號即可
前面加上unsigned
關鍵字,如:
alter
table
`ffmpeg`
.`chan**ideospeed`
addcolumn
`oldwidth`
smallint
unsigned
null
after
`newfps`
;
無符號整數
計算機裡的數是用 二進位制表示的,最左邊的這一位一般用來表示這個數是正數還是負數,這樣的話這個數就是有符號整數。如果最左邊這一位不用來表示正負,而是和後面的連在一起表示整數,那麼就不能區分這個數是正還是負,就只能是正數,這就是無符號整數。中文名 無符號整數 學 科 數學 屬 性 整數詞 性 名詞 1...
有符號int和無符號int的比較
int array define total elements sizeof array sizeof array 0 int main sizeof 返回型別為無符號整型unsigned int,因此 中的total elements值是unsigned int,在比較signed int和uns...
無符號整數的bitmap
include include include using namespacestd 0000 0000 八個bit 位,每一位標誌乙個數是否存在 unsigned char bit table 8 unsigned char c 0 c bit table 3 將c 的第3個 右 7左0 bit ...