char和varchar的區別

2021-09-01 19:18:51 字數 444 閱讀 3322

char是一種固定長度的型別,varchar則是一種可變長度的型別,它們的區別是:char(m)型別的資料列裡,每個值都占用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足.(在檢索操作中那些填補出來的空格字元將被去掉)在varchar(m)型別的資料列裡,每個值只占用剛好夠用的位元組再加上乙個用來記錄其長度的位元組(即總長度為l+1位元組).在mysql中用來判斷是否需要進行對據列型別轉換的規則

1、在乙個資料表裡,如果每乙個資料列的長度都是固定的,那麼每乙個資料行的長度也將是固定的.

2、只要資料表裡有乙個資料列的長度的可變的,那麼各資料行的長度都是可變的.

3、如果某個資料表裡的資料行的長度是可變的,那麼,為了節約儲存空間,mysql會把這個資料表裡的固定長度型別的資料列轉換為相應的可變長度型別.例外:長度小於4個字元的char資料列不會被轉換為varchar型別

char和varchar的區別

char char是定長的,也就是當你輸入的字元小於你指定的數目時,char 8 你輸入的字元小於8時,它會再後面補空值。當你輸入的字元大於指定的數時,它會擷取超出的字元。nvarchar n 包含 n 個字元的可變長度 unicode 字元資料。n 的值必須介於 1 與 4,000 之間。位元組的...

char 和 varchar的區別

varchar 儲存了可變長度的字串,是使用較多的字串型別。它比固定長度型別占用更少的儲存空間,因為它只占用了實際需要空間,比較靈活。但如果設定了row format fixed建立的myisam引擎表,那麼每行占用固定長的空間,就會造成浪費。varchar使用額外的1到2位元組來儲存值得長度。如果...

mysql中char和varchar區別

結論 char 定長,效率高 varchar 不定長,效率低。char是一種固定長度的型別,varchar則是一種可變長度的型別,它們的區別是 char m 型別的資料列裡,每個值都占用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足 在檢索操作中那些填補出來的空格字元將被去掉...