char與varchar的區別

2021-09-26 09:14:56 字數 460 閱讀 7144

複習資料庫的時候,注意到乙個比較有意思的,之前沒怎麼注意的問題,就是char與varchar的區別。在此做小小的乙個學習記錄

兩者最根本的區別是:char的長度是確定好的,而varchar的長度是可變的,比如說存「abc」,則char(10)表示儲存的字串將佔10個位元組,其中包括7個空字元,也就是下面這樣

而對於同樣的varchar(10)只佔了4個位元組,增加乙個位元組來儲存字串本身的長度,像下面這樣,這裡的10只是最大值,當儲存的字元小於10的時候,按照實際長度儲存

還有就是關於這兩者的優缺點以及使用場景,網上有篇博文講的不錯,我裡直接貼上煉接啦~

總結來說就是,從時間的角度考慮,以及資料是定長的情況用char,而從空間的角度考慮,就可以用varchar,詳細的可以參考上面的那篇大神的博文~。

Varchar與char的區別

char 對英文 ascii 字元占用1個位元組,對乙個漢字占用2個位元組 varchar 的型別不以空格填滿,比如varchar 100 但它的值只是 qian 則它的值就是 qian 而char 不一樣,比如char 100 它的值是 qian 而實際上它在資料庫中是 qian qian後共有9...

varchar與char 的區別

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

CHAR 與 VARCHAR的區別

為什麼要談char與varchar?大家可能想char和varchar這種東西再簡單不過了,只不過是mysql中最基本的資料型別,有什麼好深究的。其實有時候越簡單 越基礎的東西越複雜,越難以捉摸。大家在使用mysql建立資料表時都會遇到這樣的問題,如何為字段選擇合適的資料型別,熟悉這些基本資料型別將...