关于char,varchar与text平时没有太在意,一般来说,可能现在大家都是用varchar。但是当要存储的内容比较大时,究竟是选择varchar还是text呢?不知道。。。。。。

text 、 char、varchar  是数据在数据库中的存放策略问题,为了,合理
应用存储空间,是数据库服务器数据类型划分的方式。对于应用程序,把它们
和string对应就可以了。

于是去查阅了一些资料,顺便将这三种类型做个比较:

(1)char:  char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,MySQL会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。

(2)varchar:  关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。

(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1

总结起来,有几点:

  1. 经常变化的字段用varchar
  2. 知道固定长度的用char
  3. 尽量用varchar
  4. 超过255字符的只能用varchar或者text
  5. 能用varchar的地方不用text

mysql中char,varchar与text类型的区别和选用相关推荐

  1. mysql中char,varchar和text类型的区别和选用

    首先两点需要知道: MySQL是以字符为单位解释字符列定义中的长度.(在MySQL 4.1之前是以字节为单位进行解释.)这适用于char,varchar和text类型. MySQL 5.0.3及以后的 ...

  2. mysql中char,varchar,text

    1.char char最大长度是255字符,注意是字符数和字符集没关系. 1)可以有默认值, 2)尾部有空格会被截断 3)不管汉字.英文,还是其他编码,都可以存255字符 2.varchar 1)va ...

  3. oracle中varchar 和 nvarchar2的区别,Oracle中char,varchar,varchar2,nvarchar,nvarchar2的区别

    一.概述 1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文 ...

  4. SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总)

    SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总) 2008年10月14日 星期二 23:57 一.SQL中char varchar nchar nvar ...

  5. MySQL中char,varchar和text的区别

    MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...

  6. MySQL中char与varchar的区别

    字符与字节的区别 一个字符由于所使用的字符集的不同,会并存储在一个或多个字节中,所以一个字符占用多少个字节取决于所使用的字符集 注意:char与varchar后面接的数据大小为存储的字符数,而不是字节 ...

  7. mysql中nchar_浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别

    1,定义: char:    固定长度,存储ANSI字符,不足的补英文半角空格. nchar:   固定长度,存储Unicode字符,不足的补英文半角空格 varchar:  可变长度,存储ANSI字 ...

  8. 解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)

    文章目录 1. 复现问题 2. 分析问题 3. 深入理解mysql的数据类型 3.1 CHAR 和 VARCHAR 类型 3.2 TEXT 类型 3.3 ENUM 类型 3.4 SET 类型 4. 解 ...

  9. mysql中char与varchar的区别分析

    原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...

最新文章

  1. 2012年A股可能再跌20%~30%
  2. narwal无法连接机器人_懒无止境 能自己洗抹布的云鲸J1扫拖机器人
  3. 【渝粤题库】陕西师范大学201981教育统计与测量 作业 (专升本、高起本)
  4. 智能客户端研究笔记(三)
  5. 打印机怎么无线扫描到计算机,富士施乐打印机CM215fw无线扫描到电脑功能的使使用教程...
  6. oracle导入源数据库文件,将dmp文件数据导入oracle数据库
  7. vue中使用vue-waterfall2来实现瀑布流
  8. HDU 6069 题解
  9. 2017年下半年中学综合素质问答题
  10. 木纹标识lisp_Lisp
  11. 移动硬盘插入笔记本会后,右下角有图标显示,但是我的电脑里面不显示,导致打不开硬盘
  12. Walmart API 授权流程解析
  13. 计算机系统1 实验 LC-3 Nim游戏 子程序
  14. Excel获取字体颜色信息的函数操作FgColor函数
  15. L1-079 天梯赛的善良 (20 分)python
  16. 摄像头的像素如何计算
  17. 利用Python做excel文本合并(根据左侧单元格,快速合并右侧单元格内容)
  18. 网络聊天程序的设计与实现 python实现 计算机网络课程设计
  19. 智能科学的泉眼——人性论
  20. 数据库之互联网常用分库分表方案

热门文章

  1. linux学习wdlinux学堂
  2. 使用Delphi7构建工商银行电子口令密码查找助手
  3. 如何利用WGET覆写已存在的档案
  4. [转]经典的C语言著作,“C语言四书五经”
  5. leetcode931. 下降路径最小和(动态规划)
  6. github持续集成的设置_如何使用GitHub Actions和Puppeteer建立持续集成管道
  7. 大omega记号_什么是大欧米茄符号?
  8. ionic4 打包ios_学习Ionic 4并开始创建iOS / Android应用
  9. webassembly_WebAssembly的设计
  10. fritz 使用手册_Fritz对象检测指南:使用机器学习在Android中构建宠物监控应用