數據庫中數據長度到底代表什麼呢?

  • 即使已經參加工作快滿一年了,但是卻連數據庫裏面數據的長度都一直沒搞清楚到底代表什麼意思。
  • 在這裏插入圖片描述
  • 類型是指數據存儲類型,這個大家都知道,比如int類型代表4字節(Byte),1字節=8bit,即1B=8b.子節是計算機文件大小的基本計算單位,主要用於應用層,用於客戶來識別文件大小的。而bit是用於物理層,數據鏈路層的傳輸的,是基於二進制的傳輸。所以這裏int類型可以存儲4*8=32位。可以存儲十進制-2147483648 到 2,147,483,647。
  • 那麼後面的的數據長度代表什麼呢?能約束到數據的存儲大小麼?
  • 當我把爲int 類型的長度變爲1,username的長度也變爲1
  • 在這裏插入圖片描述
  • 在這裏插入圖片描述
  • id沒問題,而username沒存進去。爲什麼呢?因爲這是當爲varchar字符類型的時候,這裏的長度是指字符的個數。這裏長度爲1,那麼就只能輸1個字符。
  • 而int類型卻可以,這個長度並沒有約束到int類型數字的輸入,仍然可以輸入-2147483648 到 2,147,483,647。只不過在顯示上會有點區別。當Int類型的長度爲11時候,插入數字爲1的時候,那麼就是0000000001.前面自動補齊10個零,當長度爲1的時候,就不用補零了,當然使用mysql看不出來,他底層自動優化了。所以int類型的長度會一般都是11位,因爲他最大都只能存11位。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章