MySQL INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT(整數類型)
整數類型又稱數值型數據,數值型數據類型主要用來存儲數字。
mysql 提供了多種數值型數據類型,不同的數據類型提供不同的取值范圍,可以存儲的值范圍越大,所需的存儲空間也會越大。
MySQL 主要提供的整數類型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其屬性字段可以添加 AUTO_INCREMENT 自增約束條件。下表中列出了 MySQL 中的數值類型。
從上表中可以看到,不同類型的整數存儲所需的字節數不相同,占用字節數最小的是 TINYINT 類型,占用字節最大的是 BIGINT 類型,占用的字節越多的類型所能表示的數值范圍越大。
根據占用字節數可以求出每一種數據類型的取值范圍。例如,TINYINT 需要 1 個字節(8bit)來存儲,那么 TINYINT 無符號數的最大值為 28-1,即 255;TINYINT 有符號數的最大值為 27-1,即 127。其他類型的整數的取值范圍計算方法相同,如下表所示。
不同的整數類型有不同的取值范圍,并且需要不同的存儲空間,因此應根據實際需要選擇最合適的類型,這樣有利于提高查詢的效率和節省存儲空間。
整數類型是不帶小數部分的數值,現實生活中很多地方需要用到帶小數的數值,下節《MySQL小數類型》將為你講解。
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-1,即 255;TINYINT 有符號數的最大值為 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 |
提示:顯示寬度和數據類型的取值范圍是無關的。顯示寬度只是指明 MySQL 最大可能顯示的數字個數,數值的位數小于指定的寬度時會由空格填充。如果插入了大于顯示寬度的值,只要該值不超過該類型整數的取值范圍,數值依然可以插入,而且能夠顯示出來。例如,year 字段插入 19999,當使用 SELECT 查詢該列值的時候,MySQL 顯示的將是完整的帶有 5 位數字的 19999,而不是 4 位數字的值。其他整型數據類型也可以在定義表結構時指定所需的顯示寬度,如果不指定,則系統為每一種類型指定默認的寬度值。
不同的整數類型有不同的取值范圍,并且需要不同的存儲空間,因此應根據實際需要選擇最合適的類型,這樣有利于提高查詢的效率和節省存儲空間。
整數類型是不帶小數部分的數值,現實生活中很多地方需要用到帶小數的數值,下節《MySQL小數類型》將為你講解。
beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。
通俗易懂,深入淺出,一篇文章只講一個知識點。
文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。
文章不涉及代碼,不燒腦細胞,人人都可以學習。
當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!