MySQL的数据类型(二)

  MySQL中提供了多种对字符数据的存储类型,不同的版本可能有所差异。以5.0版本为例,MySQL包括了CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT等多种字符串类型。

  CHAR和VARCHAR类型很类似,用来保存MySQL中较短的字符串。二者的区别在于:CHAR列的长度固定位创键表时声明的长度,长度可以从0~255的任何值;而VARCHAR的列中的值为可变长度字符串,长度可以指定为0~255(MySQL 5.0.3版本以前)或65535(MySQL5.0.3版本以后)的值。在检索的时候,CHAR列删除了尾部的空格,而CARCHAR则保留了这些空格。

  BINARY和VARBINARY类似于CHAR和VARCHAR,不同的是他们包含二进制字符串而不包含非二进制字符串。

  ENUM中文名字枚举类型,它的值得范围需要在创键表时通过枚举方式显示指定,对1~255个成员的枚举需要1个字节存储;对于255~65535个成员,需要2个字节的存储。最多允许有65525个成员。ENUM类型是忽略大小写的,ENUM类型只允许从值集合中选取单个值,而不能一次取多个值。

  SET类型和ENUM类型非常类似,也是一个字符串对象,里面包含了0~64个成员。根据成员不同,存储上也有所不同。 SET和ENUM除了存储之外,最主要的区别在于SET类型一次可以选取多个成员,而ENUM则只能选一个。SET类型可以从允许的值集合中选择任意一个或多个元素进行组合,所以对输入的值只要是在允许的组合范围内,都可以正确地注入SET类型的列中。对于超出允许范围的值将不允许注入到设置的SET类型列中,而对于重复成员的集合则只取一次。

  MySQL支持各种数据类型,在面对具体应用时,可以根据相应的特点来选择合适的数据类型,使我们在满足应用的基础上,用较小的存储代价换来较高的数据库性能。

  ·

  

 

posted @ 2018-07-27 21:05  快速奔跑的大米粒  阅读(186)  评论(0编辑  收藏  举报