char()和VARCHAR()的主要區別是什麼?

一、char的長度是不可變的,而varchar的長度是可變的mysql

字段b:類型char(10),     值爲:abc,存儲爲:abc             (abc+7個空格)sql

字段d:類型varchar(10), 值爲:abc,存儲爲:abc (自動變爲3個的長度)編碼

 

二、超出長度自動截取spa

字段c:類型char(3),     值爲:abcdefg,存儲爲:abc(defg自動刪除)io

字段e:類型varchar(3), 值爲:abcdefg,存儲爲:abc (defg自動刪除)co

 

三、var(10)和char(10),都表示可存10個字符,不管存放的是數字、字母仍是UTF8漢字(每一個漢字3字節),均可以存放10個字符

 

四、char最多能夠存放255個字符數字

  varchar的最大長度爲65535個字節,varchar可存放的字符數跟編碼有關gbk

  字符類型若爲gbk,每一個字符最多佔2個字節,最大長度不能超過32766個字符ab

  字符類型若爲utf8,每一個字符最多佔3個字節,最大長度不能超過21845個字符

 

五、char和varchar的最大長度限制是mysql規定的

相關文章
相關標籤/搜索