mysql:char 和varchar的比较(有例子)

摘自《深入浅出 MySQL数据库开发、优化与管理维护 》

CHAR 和 VARCHAR 类型类似,但它们保存检索的方式不同。

1、它们的最大长度和是否尾部空格被保留等方面也不同。

2、在存储或检索过程中不进行大小写转换,从 CHAR(4)和 VARCHAR(4)列检索的值并不总是相同,因为检索时从 CHAR

 列删除了尾部的空格。

下面的表显示了将各种字符串值保存到 CHAR(4)和 VARCHAR(4)列后的结果,说明了 CHAR 和VARCHAR 之间的差别:


检验其检索的区别:

mysql> CREATE TABLE vc(v VARCHAR(4),c CHAR(4));
Query OK, 0 rows affected (0.05 sec)

mysql> INSERT INTO vc VALUES('ab ','ab ');
Query OK, 1 row affected (0.01 sec)

mysql> SELECT CONCAT(v,'+'),CONCAT(c,'+')FROM vc;
+---------------+---------------+
| CONCAT(v,'+') | CONCAT(c,'+') |
+---------------+---------------+
| ab +          | ab+           |
+---------------+---------------+
1 row in set (0.00 sec)


猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/80762267