1. 程式人生 > 實用技巧 >命令列操作MySQL - 整型(int)型別介紹

命令列操作MySQL - 整型(int)型別介紹

這是命令列操作MySQL資料庫系列部落格的第四篇,今天這篇部落格記錄整型的用法。


整型有哪些?

MySQL中,整型一共有六種,具體資訊請看下錶:

整數型別位元組數無符號數的取值範圍有符號數的取值範圍
TINYINT10 ~ 255-128 ~ 127
SMALLINT20 ~ 65535-32768 ~ 32767
MEDIUMINT30 ~ 16777215-8388608 ~ 8388607
INT40 ~ 4294967295-2147483648 ~ 2147483647
INTEGER40 ~ 4294967295-2147483648 ~ 2147483647
BIGINT80 ~ 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_INCREMENTPRIMARY KEY

UNIQUE 都是列的完整性約束,後續會有部落格專門記錄。

AUTO_INCREMENT:每條插入資料該欄位自增長一,且是唯一值。
PRIMARY KEY:修飾字段為主鍵,且是唯一值。
UNIQUE :修飾字段為唯一值。

可以給表class_int6插入資料做示範:
在這裡插入圖片描述

自增長可以在表名後面加括號寫上除它以外的所有欄位,系統會自動識別自增長插入該欄位。


總結:

整型其實也就是跟其他語言的用法類似,都是用來儲存整數的,這裡這是需要注意整型可以有自增長(AUTO_INCREMENT)約束 和 主鍵(PRIMARY KEY) 約束 和 唯一鍵(UNIQUE)約束這三種。