MySQL数据库中varchar与char类型的区别
2024-10-13 08:41:57
在数据库中建表时,需要给数据定义一个数据库中的数据库类型,当需要给String类型定义一个数据库中的类型时,可以看见有两个选择,一个是varchar,另一个是char,有很多人不清楚两者的区别,包括自己在内,搜索资料,总结一下两者的区别。
1、varchar的长度是可变的,char的长度不可变。
也就是说当将两者的长度都定为10,然后向其中存入一个字符串“good”,显然字符串“good”的长度不到10,当定义类型为char类型时,存入的长度依旧是10,由字符串“good”和后面的6个空格组成。当我们定义为varchar类型时,长度就变为了4,“good”字符串原有的长度。
在获取数据时,char类型的数据需要使用trim()方法,去掉字符串后面多余的空格。但varchar不需要。
2、存储时,char类型的数据要比varchar类型的数据速度更快,因为其长度固定,方便存储于查找。
3、从存储空间的角度讲,因为插入类型数据的长度固定,有时候需要用空格进行占位,所以存储数据时占用更大的空间。而varchar却不会。char是以空间换取时间效率,而varchar是以空间效率为首位的。
4、char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。
最新文章
- java中关键字this的使用
- PHP中常见魔术方法解析
- linux mingling
- ZeroMQ接口函数之 :zmq_ipc – ZMQ本地进程间通信传输协议
- 用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)
- NativeInt
- 第六十三篇、runtime实现归解档
- Windows上帝模式
- mysql join 的同时可以筛选数据
- [转]mac下Python升级到指定的版本
- 基于visual Studio2013解决面试题之0901奇偶站队
- Android - JNI加入标准C++文件
- DialogFragment学习笔记
- HTTP报错401和403详解及解决办法
- 一种使用emwin库函数导致hardfault的情况
- Sqoop 介绍、安装及环境配置
- DS哈希查找--线性探测再散列
- [转]PHP中替换换行符
- Pig parallel reduce并行执行数
- Spark与Pandas中DataFrame对比