mysql中varcharchartext的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中varcharchartext的使用相关的知识,希望对你有一定的参考价值。

超出char或者varchar设置长度后,字符串会被截断。

char和varchar的区别在于:char不管实际的value值是多少,都会占用n个字符空间,而varchar只会占用实际字符占用的空间+1,并且实际空间+1<=n;

下图可以非常明显的看到结果:

Value

CHAR(4)

Storage Required

VARCHAR(4)

Storage Required

‘‘

‘    ‘

4 bytes

‘‘

1 byte

‘ab‘

‘ab  ‘

4 bytes

‘ab‘

3 bytes

‘abcd‘

‘abcd‘

4 bytes

‘abcd‘

5 bytes

‘abcdefgh‘

‘abcd‘

4 bytes

‘abcd‘

5 bytes

 

 

 

 

 

 

 

 

总体来说:

1、char,存定长,速度快,存在空间浪费的可能,会处理尾部空格,上限255。

2、varchar,存变长,速度慢,不存在空间浪费,不处理尾部空格,上限65535,但是有存储长度实际65532最大可用。

3、text,存变长大数据,速度慢,不存在空间浪费,不处理尾部空格,上限65535,会用额外空间存放数据长度,顾可以全部使用65535。

 

如果确定某项内容的长度,那就用char,否则用varchar。

 varchar和text在性能上没什么大的区别,本着short is better原则,还是使用varchar根据需求来限制最大上限最好。

 

以上是关于mysql中varcharchartext的使用的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 查询条件中字符串尾部有空格也能匹配上的问题

DB-MySQL:MySQL 连接的使用

mac上怎么安装mysql后怎么使用

mysql中使用tab键补全

PHP/mysql:使用数组查询 MySQL 并在数组中获取结果

mysql中使用@变量名:=值 生成的变量如何查看和删除?