300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MySQL中的char和varchar类型

MySQL中的char和varchar类型

时间:2019-08-31 22:19:28

相关推荐

MySQL中的char和varchar类型

文章目录

1 MySQL中的char和varchar类型

1 MySQL中的char和varchar类型

CHAR类型和VARCHAR类型都在创建表时指定了最大长度,其基本形式如下:

字符串类型(M)

其中,“字符串类型”参数指定了数据类型为CHAR类型还是VARCHAR类型;M参数指定了该字符串的最大长度为M。

例如,CHAR(4)就是数据类型为CHAR类型,其最大长度为4。注意:这里的长度是指字符的长度,而不是字节长度!默认编码格式为utf-8格式,插入汉字时为3个字节。

CHAR类型的长度是固定的,在创建表时就指定了。其长度可以是0~255的任意值。

例如,CHAR(100)就是指定CHAR类型的长度为100。CHAR 存储值时,它们会用空格右填充到指定的长度。

VARCHAR类型的长度是可变的,在创建表时指定了最大长度。定义时,其最大值可以取0~65535之间的任意值。指定VARCHAR类型的最大值以后,其长度可以在0到最大长度之间。

例如,VARCHAR(100)的最大长度是100,但是不是每条记录都要占用100个字节,而是在这个最大值范围内使用多少就分配多少。VARCHAR类型实际占用的空间为字符串的实际长度加1或2,这样即可有效节约系统的空间。

mysql> use test; #选择数据库test mysql> create table char_example(e_char char(5), v_char varchar(5)); #创建数据库表mysql> insert into char_example values('12345','12345'); #正常插入数据mysql> insert into char_example values('1 2 ','1 2 '); #char类型会屏蔽后面隐藏的空格,varchar 不会mysql>select concat('(',e_char, ')'), concat('(',v_char, ')') from char_example ; #让char 后面屏蔽的空格原型毕露

实战建议:

char一定会使用指定的空间,varchar是根据数据来定空间。char的数据查询效率比varchar高:varchar是需要通过后面的记录数来计算。如果确定数据一定是占指定长度,那么使用char类型。如果不确定数据到底有多少,那么使用varchar类型。如果数据长度超过255个字符而在65535之内,直接使用varchar。如果字符串尾部要保留空格,必须选择varchar。

参考资料:

C/C++从入门到精通-高级程序员之路【奇牛学院】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。