1. 程式人生 > 資料庫 >mysql中int(x)與int以及varchar與char的區別

mysql中int(x)與int以及varchar與char的區別

前言

在使用mysql進行資料庫設計過程中,進行元資料定義時,需要清楚的知道各個資料型別的區別,方便我們進行規範的設計。資料庫設計不規範,在開發過程中將導致意想不到的麻煩。因此,我們需要理清基本的概念。下面,我將對我們經常使用的int、char、varchar進行簡單概括,希望看到的朋友們積極留言,歡迎指正,共同學習。

一、int(x)與int

比如我想表示一個整型值就可以使用int,至於int可以表示的數值範圍大家可以查閱資料。例如:儲存123456,資料型別設計成int(x)或者int,我們查詢出來的值都是123456,但如果我增加auto_zerofill後,再次查詢顯示int(x)出來的值將變為顯示x位長度空位補0的值(例如:int(7)來表示123456則顯示0123456),int不變。由此,int(x) 中的x不是指顯示的長度,而是指前補0的位數。因此,我們沒有前補0需求的時候直接設定成int即可。

二、varchar與char

以varchar(10) 與char(10)為例。 varchar表示可變長字串,char表示不可變長字串。當我們儲存‘123’時,在varchar(10)裡對應的長度就是3,從資料庫取出也是‘123‘而char(10)對應的長度就是10,從資料庫取出則是‘123          ’ 空白表示7位空格佔位符。因為varchar是可變的,所以他的儲存效率比固定長度的char要低。對於佔據空間來說,varchar更節省空間。