MySQL學習 int(2)和int(4)的區別


問題

  • int(1) int(4) 中的作用是做什么

概述

int(1),int(4)括號中的數字是為了填充長度空缺的長度。

int(1)和int(4)

下面兩小章節來自參考資料 

浮點型的長度

浮點型"的長度是用來限制數字存儲范圍的. 比如 float(3,2) 只能夠寫入 0.00~999.99.

整型的長度

"整型"的長度並不會限制存儲的數字范圍. 比如, int 和 int(3) 的存儲范圍都是 -2147483648 ~ 2147483647, int unsigned 和 int(3) unsigned 的存儲范圍都是0 ~ 4294967295.

"整型"的長度實際上可以理解為"顯示長度", 如果該字段開啟 "Zerofill/補零"就能很明顯地知道它的作用.

比如, a b c d 分別表示 int(1) int(2) int(3) int(3) zerofill, 那么實際存入數據庫的數據是這樣的:

| v  | a  |  b  |  c |  d |
+-----+-----+-----+-----+-----+
| 1  | 1  |  1  |  1 | 001 |
| 10  | 10  | 10  |  10 | 010 |
| 100 | 100 | 100 | 100 | 100 |

PS. 如果開啟 "Zerofill/補零", 則自動會默認為 "Unsigned/非負數".

作用

《高性能MySQL》 中的說明

MySQL 可以為整數類型指定寬度, 例如 INT(11), 對大多數應用這是沒有意義的: 它不會限制值的合法范圍, 只是規定了 MySQL 的一些交互工具(例如 MySQL 命令行客戶端)用來顯示字符的個數. 對於存儲和計算來說, INT(1) 和 INT(20) 是相同的

參考資料 :

  • https://www.jianshu.com/p/61293b416335


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM