關於 MySQL int tinyint 類型的那點事

來源:互聯網
上載者:User

標籤:資料   ar   sql   mysql   har   網路   總結   儲存   

1.MySQL欄位規定類型之後,儲存是定長的,int(1)和int(4)從本身長度還是儲存方式上都是一樣的。mysql裡,int(1)和int(4)的區別就是顯示的長度,但是要設定一個參數:如果列制定了zerofill 就會用0填充顯示,如2 int(3)指定後就會顯示為002。

2.int 儲存佔4個位元組, tinyint   儲存佔1個位元組,儲存長度決定了他們表示的數字範圍不同。int表示的數字範圍是:從 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型資料(所有數字)。tinyint 表示的範圍是0-255之間的數字。

3.tinyint(1),和tinyint(3)沒什麼區別,存123都能存的下,而如果tinyint(3) zerofill 的話,插入值 12,會儲存012,zerofill自動左邊補零,這才是限制顯示長度。

我把限制顯示長度理解成了  tinyint(1) 存123 應該只存其中一個數字。

 

下面是精簡總結:

tinyint(1)  和 tinyint(3) 沒什麼區別,佔用位元組都是一位,儲存範圍都是一樣的。

tinyint(3) zerofill ,當插入的資料少於3位的時候,左邊自動補零,這才是限制顯示長度啊。

int(1) 和 tinyint(1) ,夠用的情況下,優先選擇tinyint(1),因為占位元組少、節省空間的。

tinyint一個位元組   smallint  兩個位元組   MEDIUMINT三個位元組  int 4個位元組  BIGINT 8個位元組。

但是,varchar(5)  這裡的5 限制的是儲存字元的個數,字元不分貴賤( 是不分 中文、英文、數字...)。

總結資料來源於網路。。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.