Mysql 儲存整數可以使用 TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT。他們分別使用8, 16,24, 32, 64 位儲存空間。整數型別可選 UNSIGNED 屬性,表示不允許負值,代表無符號數,這大致可以使整數的上限提高一倍。有符號和無符號型別使用相同的儲存空間,並具有相同的效能。下表是不同資料型別的大小和範圍,我們在設計資料表的時候可以參考。
型別 | 大小 | 範圍(有符號) | 範圍(無符號) |
---|---|---|---|
TINYINT | 1 位元組 | (-128,127) | (0,255) |
SMALLINT | 2 位元組 | (-32 768,32 767) | (0,65 535) |
MEDIUMINT | 3位元組 | (-8 388 608,8 388 607) | (0,16 777 215) |
INT | 4位元組 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) |
BIGINT | 8位元組 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) |
Mysql 可以為整數型別指定寬度,例如 INT(11),對大多數應用這是沒有意義的:他不會限制值的合法範圍,只是規定了 Mysql 的一些互動工具,如 Mysql 命令列客戶端,用來顯示字元的個數。對於儲存和運算來說, INT(1) 和 INT(28) 是相同的。
本作品採用《CC 協議》,轉載必須註明作者和本文連結