varchar最大长度 varchar

char和varchar的区别char和varchar的区别如下:
1、最大长度:char最大长度是255字符,varchar最大长度是65535个字节 。
2、定长:char是定长的,不足的部分用隐藏空格填充,varchar是不定长的 。
3、空间使用:char会浪费空间,varchar会更加节省空间 。
4、查找效率:char查找效率会很高,varchar查找效率会更低 。
5、尾部空格:char插入时可省略,vaechar插入时不会省略,查找时省略 。
char和varchar的区别
char和varchar是mysql中的两个相似的列,都可以存储字符和字符串 。但是char存储的列的长度是不可变的,varchar存储的列的长度是可变的 。
例如:插入char(5)的列表示这个列占用的存储空间一直是5个字符大小 。但是在存储数据是往往不会满足5个字符,可能会比5少,也可能会多 。比如我们
插入“abc”时,很显然“abc”是3个字符,此时MySql底层会将“abc”后面追加两个空格字符为“abc” 。检索时,MySql会自动帮你做一次trim()操作,去掉最后的空格,然后返回“abc” 。
varchar是什么类型VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串 。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中 。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智 。VARCHAR数据类型所支持的最大长度也是255个字符 。
VARCHAR特点:
1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表);
2、使用额外的1-2字节来存储值长度,列长度=255使用1字节保存,其它情况使用2字节保存 。例如varchar(10)会占用11字节存储空间,varchar(500)会占用502字节存储空间;
3、节约空间,所以性能会有帮助 。在更新的时候会产生额外的工作;
4、5.0以上版本,取值或设置值都会保存字符串末尾的空格,4.1之前的版本都会把字符串末尾的空格删除掉;
5、最大长度远大于平均长度,很少发生更新的时候适合使用varchar,因为碎片更少了 。
varchar示例:

varchar最大长度 varchar

文章插图
varchar和char的区别1、char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节 。即,n限制了存储多长的值,但是所占用的空间大小不一致 。例如varchar(n)表示最多可以存储n个,无论是字母数字还是中文,都是只能存储50个 。
2、同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1=n 。
3、超过char和varchar的n设置后,字符串会被截断 。
4、char的上限为255字节,varchar的上限65535字节,text的上限为65535 。
【varchar最大长度 varchar】 5、char在存储的时候会截断尾部的空格,varchar和text不会 。
在SQL严格模式下,无论char还是varchar,如果尾部要被截断的是非空格,会提示错误,即插入失败
在SQL非严格模式下,无论char还是varchar,如果尾部要被截断的是非空格,会提示warning,但可以成功
如果尾部要被截断的是空格,无论SQL所处模式,varchar都可以插入成功但提示warning;char也可以插入成功,并且无任何提示
6、varchar会使用1-3个字节来存储长度,text不会 。
文章部分引用:

    秒懂生活扩展阅读