mysql中char和varchar的区别是什么
程序员文章站
2022-04-05 11:53:23
...
区别:1、char字段的最大长度为255字符,varchar字段的最大长度为65535个字节;2、char类型在空间使用上会有浪费,而varchar类型在空间使用上比较节省;3、char类型的查找效率高,varchar类型的查找效率比较低。
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
char和varchar区别
行为 |
char 字段 |
varchar 字段 |
---|---|---|
最大长度 | 255字符 | 65535个字节,所以括号中最大的字符数还得通过编码来算 |
是否定长 | 定长,不足的部分用隐藏空格填充 | 不定长 |
空间使用 | 会有浪费 | 更加节省 |
查找效率 | 高 | 低 |
尾部空格 | 插入时省略 | 插入时不会省略,查找时省略 |
like查找 | 语句中like后的’ '不会省 | 语句中like后的’ '不会省,字段结尾的空格也不会省 |
总结
char(n)
中的n是字符数,范围是0~255(额外需要1到2个字节来存长度)varchar(n)
中的n也是字符数,但是最大值需要通过编码来算,不能超过65535字节(从中还需要拿出1到2个字节来存长度)一般定长的数据选用char类型,比如身份证号,手机号,电话等,长度变化很大的可以使用varchar类型
注意尾部空格的匹配,特别是插入时和使用like查找时
【相关推荐:mysql视频教程】
以上就是mysql中char和varchar的区别是什么的详细内容,更多请关注其它相关文章!
上一篇: mysql怎么截取字符串前几位
推荐阅读
-
关于MySql 和SqlServer 中left join , full join的一点区别
-
MySQL中CHAR和VARCHAR类型演变和详解
-
php中require和include的区别是什么?
-
oracle和mysql的区别是什么
-
mysql中int、bigint、smallint 和 tinyint的区别详细介绍
-
MySQL中interactive_timeout和wait_timeout的区别
-
MySQL中CHAR和VARCHAR类型演变和详解
-
MySQL中REPLACE INTO和INSERT INTO的区别分析
-
浅谈MySQL存储过程中declare和set定义变量的区别
-
MySQL中interactive_timeout和wait_timeout的区别