[摘要]一、char和varchar类型char和varchar类型类似,都用来存储字符串,但是它们保存和检索字符串的方式不同。char属于固定长度的字符类型,varchar属于可变长度的字符类型。例如:对...
一、char和varchar类型
char和varchar类型类似,都用来存储字符串,但是它们保存和检索字符串的方式不同。char属于固定长度的字符类型,varchar属于可变长度的字符类型。例如:对于char(4)和varchar(4)这两种类型定义来说:
(1)、''在char(4)中占了4个字节长度,varchar(4)则只占用一个字节的长度;
(2)、'ab'在char(4)中占了4个字节长度,varchar(4)中则只占用了3个字节的长度;
(3)、'abcd'在char(4)中占用了4个字节长度,在varchar(4)中则占用了5个字节的长度;
为何在varchar类型中会多出一个字节长度呢?这是因为varchar类型将这多出的一个字节用于保存varchar类型实际使用了多大的长度。char(4)和varchar(4)的检索并不总是相同的,例如:
mysql> create table char_and_varchar (v varchar(4),c char(4));
Query OK, 0 rows affected (0.20 sec)
mysql> insert into char_and_varchar values ('ab ','ab ');
Query OK, 1 row affected (0.33 sec)
mysql> select concat(v,'cd'),concat(c,'cd') from char_and_varchar;
+----------------+----------------+
关键词:所有方面知道MySQL中的数据分类