MySQL建立無符號整數(int)及取值範圍

2021-10-07 19:40:02 字數 1758 閱讀 5445

官方幫助:integer types (exact value) - integer, int, smallint, tinyint, mediumint, bigint

整數型別又稱數值型資料,數值型資料型別主要用來儲存數字。

mysql 提供了多種數值型資料型別,不同的資料型別提供不同的取值範圍,可以儲存的值範圍越大,所需的儲存空間也會越大。

mysql 主要提供的整數型別有tinyintsmallintmediumintintbigint,其屬性字段可以新增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 ...