char和varchr的區別?
1、char的長度是不可變的,而varchar的長度是可變的
字段b:類型char(10), 值為:abc,存儲為:abc (abc+7個空格)
字段d:類型varchar(10), 值為:abc,存儲為:abc (自動變為3個的長度)
2、超出長度自動截取
字段c:類型char(3), 值為:abcdefg,存儲為:abc(defg自動刪除)
字段e:類型varchar(3), 值為:abcdefg,存儲為:abc (defg自動刪除)
3、var(10)和char(10),都表示可存10個字符,無論存放的是數字、字母還是UTF8漢字(每個漢字3字節),都可以存放10個
4、char最多可以存放255個字符
varchar的最大長度為65535個字節,varchar可存放的字符數跟編碼有關
字符類型若為gbk,每個字符最多占2個字節,最大長度不能超過32766個字符
字符類型若為utf8,每個字符最多占3個字節,最大長度不能超過21845個字符
5、char和varchar的最大長度限制是mysql規定的