關於mysql中欄位定義的型別int、tinyint區別

xuanziDy發表於2022-01-18

int 和 tinyint 就是 大碗和小碗的區別, 在它們有限的空間內無論裝多少,都會佔用各自規定的固定儲存空間大小。

int是4個位元組, tinyint是1個位元組

一個位元組佔用8位, 也就說 無符號的tinyint最大可表示十進位制數為:1111 1111,
換成十進位制無符號整數就是 1+2+4+8+16+32+64+128 = 255,
有符號就是-127 ~ 127 即:-2^7~2^7-1.

int(3) 括號中的數字,表示的是顯示的數字位數,用數字2舉例,如果要求位數不足用0填充的話,則實際應該是002.

結論

  • int(1) 和 int(3) 從儲存空間上看沒有區別,都是4個位元組,但是顯示寬度不同.
  • int(1) 和 tinyint(1) 儲存空間大小不同,根據型別所能代表的數字範圍進行選擇。
  • char和varchar這型別的資料,括號後面的數字就是代表的位元組個數。所以有時候定義12個位元組,但是因為是中文,沒有輸入12個漢字就滿了,因為一個漢字需要2個位元組。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
學過的東西能說出來那是最妙的,能覆盤寫下來那也不錯

相關文章