整數欄位類型包含 tinyint
、smallint
、mediumint
、int
、 bigint
五種,佔用空間大小及儲存範圍如下圖所示:
#儲存位元組越小,佔用空間越小。所以本著最小化儲存的原則,我們要盡量選擇合適的整型,以下給出幾個常見案例及選擇建議。
根據儲存範圍選擇合適的類型,例如人的年齡用unsigned tinyint(範圍0~255,人的壽命不會超過255 歲);海龜就必須是smallint,但如果是太陽的年齡,就必須是int。
若儲存的資料為非負數值,建議使用 UNSIGNED 標識,可以擴大正數的儲存範圍。
短資料使用 TINYINT 或 SMALLINT,例如:人類年齡,城市代碼。
儲存狀態變數的欄位用 TINYINT ,例如:是否刪除,0代表未刪除 1代表已刪除。
主鍵列,無負數,建議使用 INT UNSIGNED 或 BIGINT UNSIGNED;預估欄位數字取值會超過 42 億,使用 BIGINT 類型。
下面給出建表語句示範:
CREATE TABLE `tb_int` ( `increment_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键', `stu_age` tinyint unsigned NOT NULL COMMENT '学生年龄', `is_deleted` tinyint unsigned DEFAULT '0' COMMENT '0:未删除 1:删除', `col1` bigint NOT NULL COMMENT 'bigint字段', PRIMARY KEY (`increment_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='int测试表';
以上是MySQL中int型別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!