在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类型,一般参考的都是char或者varchar,这两种选择有时候让人很纠结,今天想总结一下它们两者的区别,明确一下两者的区别。

首先明确的是,char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。

尽管如此,char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。

再者,char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节。

两者的存储数据都非unicode的字符数据。

-----------------------------------------------------

转载自http://blog.csdn.net/playboyanta123/article/details/8472222

数据库中char与varchar类型的区别 1相关推荐

  1. 数据库中char与varchar类型的区别

    char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10], 如果存进去的是'csdn',那么char所占的长度依然为10,除了字符'csdn ...

  2. 数据库设计中char与varchar类型的区别

    在数据库建表过程中,其中给String类型的数据选择数据库类型时,一般参考的都是char或者varchar,这两种选择有时候让人很纠结,那么这里给出两种类型的区别: char的长度是不可变的,而var ...

  3. sqlserver数据库中char、varchar、text与nchar、nvarchar、ntext数据类型使用详解

    很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大 ...

  4. mysql in varchar_MySQL中char和varchar有啥区别?优缺点是啥?

    在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型. char与varchar的区别 c ...

  5. mysql数据库中nchar_MySQL数据库中CHAR与VARCHAR之争

    在MySQL数据库中,用的最多的字符型数据类型就是Varchar和Char..这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是从数 据的保存方式来看,两者相差很大.而且其具体的实现方式,还 ...

  6. 数据库中的字段varchar类型和char类型的区别?

    数据库中的字段varchar类型和char类型的区别? 目录 数据库中的字段varchar类型和char类型的区别?

  7. 数据库中char varchar nchar nvarchar的区别

    数据库中char varchar nchar nvarchar的区别 我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar ...

  8. 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别

    [在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别  CHAR为定长的字段,最 ...

  9. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

最新文章

  1. Qt Style Sheet 翻译(中)--类似css
  2. SleuthQL 一个自动化执行导出扫描结果的库
  3. 反射xss 测试地址_使用反射进行测试
  4. 论文阅读9-Fine-tuning Pre-Trained Transformer Language Models to(远程监督关系抽取,ACL2019,GPT,长尾关系,DISTRE)
  5. 爱因斯坦:量子物理与抽象数学(广义)
  6. php使用ftp远程上传文件类(解决主从文件同步问题的简单方法)
  7. mysql 某列加全文索引_MySQL使用全文索引(fulltext index)---高性能
  8. 32位md5解密_GoLang:有趣的密码学之MD5
  9. 改造create-react-app 通过npm命令动态打包文件
  10. OSChina 周三乱弹 —— 公司里的潜规则
  11. quartz mysql数据源_配置quartz数据源的三种方式
  12. Citrix SD-WAN 被曝远程代码执行漏洞
  13. struts2实现XML异步交互
  14. 决策树 Decision Tree
  15. 内核和用户空间异步通信
  16. 《大前端进阶 安全》系列 HTTPS详解(通俗易懂)
  17. python里的PYTHONPATH是干什么用的?
  18. python货币转化为资本的前提_Python与《资本论》:生产资本中劳动力 A 与生产资料 Pm 的配比关系...
  19. “神棍节”背后的故事
  20. 华为云,为你开启更快速的CDN加速服务!

热门文章

  1. nginx php mysql 部署_Linux+Nginx+Mysql+Php运维部署
  2. 无法访问虚拟机tomcat网页
  3. 分享到JavaScript实现
  4. java的poi导出Excel文件
  5. ROS: Ubuntu16.04安装ROS-kinetic
  6. Ubuntu安装配置Python.pyDev
  7. MappedByteBuffer VS FileChannel 孰强孰弱?
  8. ZooKeeper 数据结构 命令
  9. 云服务器有什么好 能让云大佬们竞争如此激烈
  10. commons-csv 使用记叙