命令列操作MySQL - 整型(int)型別介紹
這是命令列操作MySQL資料庫系列部落格的第四篇,今天這篇部落格記錄整型的用法。
整型有哪些?
MySQL中,整型一共有六種,具體資訊請看下錶:
整數型別 | 位元組數 | 無符號數的取值範圍 | 有符號數的取值範圍 |
---|---|---|---|
TINYINT | 1 | 0 ~ 255 | -128 ~ 127 |
SMALLINT | 2 | 0 ~ 65535 | -32768 ~ 32767 |
MEDIUMINT | 3 | 0 ~ 16777215 | -8388608 ~ 8388607 |
INT | 4 | 0 ~ 4294967295 | -2147483648 ~ 2147483647 |
INTEGER | 4 | 0 ~ 4294967295 | -2147483648 ~ 2147483647 |
BIGINT | 8 | 0 ~ 18446744073709551615 | -9223372036854775808 ~ 9223372036854775807 |
根據上表,簡單的建立一張資料表吧。
可以看到,id欄位就是使用int型別修飾的。
整數型別的附帶屬性
(1)型別名稱後面的小括號
指定顯示寬度(並不是該型別佔用位元組數)。如果不顯示指定寬度則預設為tinyint(3)、 smallint(5)、 mediumint(8)、 int(11) 和 bigint(20)。一般配合 zerofill 使用,顧名思義,zerofill 就是用“0”填充的意思,也就是在數字位數不夠的空間用字元“0”填滿。
例如:
(2)UNSIGNED(無符號)
如果需要在欄位裡面儲存非負數或者需要較大的上限值時,可以用此選項,它的取值範圍是正常值的下限取 0,上限取原值的 2 倍,例如,tinyint 有符號範圍是-128~127,而無符號範圍是 0~255。如果一個列指定為 zerofill,則 MySQL 自動為該列新增 UNSIGNED
例:
以下int型別屬性均為(UNSIGNED)無符號整數。
MySQL關鍵字不區分大小寫。
(3)AUTO_INCREMENT
在需要產生唯一識別符號或順序值時,可利用此屬性,這個屬性只用於整數型別。AUTO_INCREMENT 值一般從 1 開始,每行增加 1。 一個表中最多隻能有一個 AUTO_INCREMENT列 。對於任何想要使用 AUTO_INCREMENT 的列,應該定義為 NOT NULL,並定義為 PRIMARY KEY 或定義為 UNIQUE 鍵。
例如,可按下列任何一種方式定義 AUTO_INCREMENT 列:
AUTO_INCREMENT 和 PRIMARY KEY
AUTO_INCREMENT:每條插入資料該欄位自增長一,且是唯一值。
PRIMARY KEY:修飾字段為主鍵,且是唯一值。
UNIQUE :修飾字段為唯一值。
可以給表class_int6插入資料做示範:
自增長可以在表名後面加括號寫上除它以外的所有欄位,系統會自動識別自增長插入該欄位。
總結:
整型其實也就是跟其他語言的用法類似,都是用來儲存整數的,這裡這是需要注意整型可以有自增長(AUTO_INCREMENT)約束 和 主鍵(PRIMARY KEY) 約束 和 唯一鍵(UNIQUE)約束這三種。