varchar

王朝百科·作者佚名  2010-08-18
窄屏简体版  字體: |||超大  

VARCHAR & CHAR

varchar 和char 的区别VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。

假如你向一个长度为四十个字符的VARCHAR型字段中输入数据BIll GAtES。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。 现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。

VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要.

虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。

示例举例如下:

car_model VARCHAR(10);

INT (M) [Unsigned]

INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。举例如下:

light_years INT;

按照上述数据类型的设置,-24567为有效数据,而3000000000则因为超出了有效数据范围成为无效数据。

再例如:

light_years INT unsigned;

这时,3000000000成为有效数据,而-24567则成为无效数据。

FLOAT [(M,D)]

FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。

举例如下:

rainfall FLOAT (4,2);

按照上述数据类型的设置,42.35为有效数据,而324.45和3.542则因为超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。

DATE

DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。MySQL提供了许多功能强大的日期格式化和操作命令,本文无法在此一一进行介绍,感兴趣的读者可以参看MySQL的技术文档。

DATE数据类型举例如下:

the_date DATE;

TEXT / BLOB

TEXT和BLOB数据类型可以用来保存255 到65535个字符,如果用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。

SET

SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。

举例如下:

transport SET ("trUCk", "wagon") NOT NULL;

根据上述数据类型的设置,truck、wagon、以及truck,wagon都可以成为transport的有效值。

ENUM

ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。例如:

transport ENUM ("truck", "wagon") NOT NULL;

根据上述设置,truck或wagon将成为transport的有效数据值。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航