SQL中的五种数据类型

2008-04-02 10:31:29来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

  字符型

  VARCHAR VS CHAR

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

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

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

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

  文本型

  TEXT

  使用文本型数据,您能够存放超过二十亿个字符的字符串。当您需要存储大串的字符时,应该使用文本型数据。

  注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。

  当您从HTML form的多行文本编辑框(TEXTAREA)中收集数据时,您应该把收集的信息存储于文本型字段中。但是,无论何时,只要您能避免使用文本型字段,您就应该不适用他。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。

  一旦您向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则您无法收回这部分存储空间。

  数值型

  SQL支持许多种不同的数值型数据。您能够存储整数 INT 、小数 NUMERIC、和钱数 MONEY。

  INT VS SMALLINT VS TINYINT

  他们的区别只是字符长度:

  INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数

  SMALLINT 型数据能够存储从-32768到32768的整数

  TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数

  通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦您已创建了一个字段,要修改他是很困难的。因此,为安全起见,您应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。

  MUNERIC

  为了能对字段所存放的数据有更多的控制,您能够使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使您能表示很大的数——比INT型数据要大得多。一个NUMERIC型字段能够存储从-1038到1038范围内的数。NUMERIC型数据还使您能表示有小数部分的数。例如,您能够在NUMERIC型字段中存储小数3.14。

  当定义一个NUMERIC型字段时,您需要同时指定整数部分的大小和小数部分的大小。如:MUNERIC(23,0)

  一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分能够是零。

  MONEY VS SMALLMONEY

  您能够使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。假如您希望您的网点能挣很多钱,您能够使用MONEY型数据。假如您的野心不大,您能够使用SMALLMONEY型数据。MONEY型数据能够存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。假如您需要存储比这还大的金额,您能够使用NUMERIC型数据。

  SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,假如能够的话,您应该用SMALLMONEY型来代替MONEY型数据,以节省空间。

  逻辑型

  BIT

  假如您使用复选框( CHECKBOX)从网页中搜集信息,您能够把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

  当心,在您创建好一个表之后,您不能向表中添加 BIT型字段。假如您打算在一个表中包含BIT型字段,您必须在创建表时完成。

  日期型

  DATETIME VS SMALLDATETIME

  一个 DATETIME型的字段能够存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

  假如您无需覆盖这么大范围的日期和时间,您能够使用SMALLDATETIME型数据。他和DATETIME型数据同样使用,只但是他能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,他只能精确到秒。

  DATETIME型字段在您输入日期和时间之前并不包含实际的数据,认识这一点是重要的。


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 使用sql-server进行分布式查询

下一篇: 数据库人员手边系列:SQL Server小技巧