`
weitao1026
  • 浏览: 1054039 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

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

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

(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数据库的列类型(字段类型).pdf

    除了数值类型,MySQL 的字符串类数据列类型包括 CHAR、VARCHAR、TEXT 等,用于存储字符数据。CHAR 是固定长度的字符串,而 VARCHAR 是可变长度的,更节省空间。TEXT 类型则用于存储大量文本数据。 日期/时间类数据...

    0.2 MySQL表操作及数据类型

    整数类型中,INT是常用的四字节整数,而根据存储空间和范围的不同,可以选用MEDIUMINT、SMALLINT或TINYINT。浮点数类型有FLOAT、DOUBLE和DECIMAL,其中DECIMAL类型可以用于需要精确小数点的场合。 字符类型主要包括...

    MySQL中文参考手册.chm

    7.3.6.2 DATETIME,DATE和TIMESTAMP类型 7.3.6.3 TIME类型 7.3.6.4 YEAR类型 7.3.7 字符串类型 7.3.7.1 CHAR和VARCHAR类型 7.3.7.2 BLOB和TEXT类型 7.3.7.3 ENUM类型 7.3.7.4...

    MySQL中文参考手册

    * 0 译者序 * 1 MySQL的一般的信息 ... # 7.3.7.1 CHAR和VARCHAR类型 # 7.3.7.2 BLOB和TEXT类型 # 7.3.7.3 ENUM类型 # 7.3.7.4 SET类型 + 7.3.8 为列选择正确的类型 + 7.3.9 列索引 + 7.3.10 多列索引 +...

    MySql所有字段类型及长度范围

    在数据库设计与应用开发过程中,选择合适的字段类型对于确保数据的准确存储和高效处理至关重要。MySQL提供了丰富的数据类型,涵盖了数字、字符串、日期时间等多种类别,满足了不同场景下的需求。下面将详细介绍MySQL...

    PHP+MYSQL数据库编程资料

    字符串型主要有CHAR、VARCHAR、BINARY、VARBINARY、BLOB和TEXT,其中BLOB和TEXT用于存储大量文本或二进制数据,而ENUM和SET则分别用于存储预定义的枚举值和集合。 了解了MySQL的数据类型后,掌握一些基本的MySQL...

    MYSQL

    7.3.6.3 TIME类型 7.3.6.4 YEAR类型 7.3.7 字符串类型 7.3.7.1 CHAR和VARCHAR类型 7.3.7.2 BLOB和TEXT类型 7.3.7.3 ENUM类型 7.3.7.4 SET类型 7.3.8 为列选择正确的类型 7.3.9 ...

    mysql与oracle数据类型对应关系.docx

    在数据库系统中,数据类型的选用对于数据存储和处理的效率至关重要。MySQL 和 Oracle 是两种广泛使用的数据库管理系统,它们各自有一套不同的数据类型。本篇文章将详细介绍 MySQL、Oracle 和 Java 之间对应的数据...

    MySQL数据库设计、优化.pptx

    MySQL数据库设计与优化是数据库管理中的重要环节,它关乎到系统的性能、稳定性和可扩展性。本讲座由叶金荣分享,主要涵盖了多个关键方面,包括规范、基础规范、命名规范、库表规范、字段规范、索引规范以及开发环境...

    MySQL数据库技术教案.docx

    4. **MySQL数据类型**:MySQL提供了丰富的数据类型,包括数值型(如TINYINT、FLOAT、DOUBLE等)、字符型(如CHAR、VARCHAR、TEXT等)、日期和时间型(如DATE、TIME、TIMESTAMP等),以及NULL值类型,用于表示未知或...

    Java数据类型与MySql数据类型对照表

    MySQL的数据类型则更为多样,涵盖了数值类型(如INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT、FLOAT、DOUBLE、DECIMAL)、字符串类型(如VARCHAR、CHAR、TEXT、BLOB)、日期和时间类型(如DATE、TIME、DATETIME、...

    MYSQL培训经典教程(共两部分) 1/2

    DATE和TIMESTAMP类型 230 1.3.3.3 TIME类型 233 1.3.3.4 YEAR类型 234 1.3.4 字符串类型 234 1.3.4.1 CHAR和VARCHAR类型 234 1.3.4.2 BLOB和TEXT类型 235 1.3.4.3 ENUM类型 236 1.3.4.4 SET...

    mysql优化记录文档

    MySQL 优化是一个涵盖广泛的主题,涉及多个层面,包括存储引擎的选择、字段设计、数据类型的选择、索引的创建和管理等。以下是对这些知识点的详细解释: 首先,存储引擎是MySQL数据库性能的关键因素之一。MyISAM和...

    详解MySQL中的数据类型和schema优化

    MySQL数据库在设计和优化时,数据类型的选择与schema的规划起着至关重要的作用。数据类型不仅影响存储空间,还直接影响查询速度和系统性能。本文主要探讨了如何在MySQL中选择合适的数据类型以及优化schema。 首先,...

    MySQL数据库开发规范1.3.doc

    - **数据类型选择**:推荐使用DECIMAL而非浮点类型,INT系列按需选择,VARCHAR用于可变长度字段,TEXT系列用于大量数据,CHAR仅在必要时使用。 3. **数据类型** - **数值类型**:定点数(DECIMAL)用于高精度计算...

    MySQL数据库开发的三十六条军规.pdf

    - **选择合适的数值类型**:合理选用TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT等类型,避免过度指定字段长度,如INT(11)与INT并无本质区别。 #### 将字符转化为数字 - **提升索引效率**:对于可以转换为数字的...

    MYSQL培训经典教程(共两部分) 2/2

    DATE和TIMESTAMP类型 230 1.3.3.3 TIME类型 233 1.3.3.4 YEAR类型 234 1.3.4 字符串类型 234 1.3.4.1 CHAR和VARCHAR类型 234 1.3.4.2 BLOB和TEXT类型 235 1.3.4.3 ENUM类型 236 1.3.4.4 SET...

    mysql数据类型和字段属性原理与用法详解

    字符串类型包括VARCHAR、CHAR、TEXT等,其中SET和ENUM是特殊的字符串类型。SET用于存储一组预定义的字符串集合,每个元素对应二进制位,适合用于有限的、固定的选择项。ENUM则限制只能存储预定义的一个字符串,适合...

    MySQL技术资料来自网易的经验总结

    文档内容涵盖MySQL的开发和优化两大方面,具体包括了MySQL的基础使用技巧、存储引擎的选择、数据类型的选用、字符集配置、索引设计及使用、锁机制与事务处理、SQL的安全性问题、SQLMode的使用、SQL技巧等。...

    MySQL 加密/压缩函数

    一般而言,上述问题可能在你使用非二进制串数据类型(如char,varchar,text等数据类型)的情况下发生。 AES_ENCRYPT()和AES_DECRYPT() AES_ENCRYPT()和AES_DECRYPT()可以加密/解密使用官方AES算法的数据。该算法...

Global site tag (gtag.js) - Google Analytics