SQL数据类型

SQL 数据类型
简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型。
字符型(VARCHARVS CHAR)
VARCHAR 型和 CHAR 型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长 度小于 255 的字符。
假如你向一个长度为四十个字符的 VARCHAR 型字段中输入数据 Bill Gates。当你以后从这个字 段中取出此数据时,你取出的数据其长度为十个字符——字符串 Bill Gates 的长度。假如你把字 符串输入一个长度为四十个字符的 CHAR 型字段中,那么当你取出数据时,所取出的数据长度将 是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用 VARCHAR 型字段要比 CHAR 型字段方便的多。使用 VARCHAR 型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR 型字段的另一个突出的好处是它可以比 CHAR 型字段占用更少的内存和硬盘空间。当 你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
文本型(TEXT)
使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使 用文本型数据。
注意文本型数据没有长度。一个文本型字段中的数据通常要么为空,要么很大。
当你从 HTML FORM 的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存 储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不使用它。文本 型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。 一旦你向文本型字段中输入了任何数据(甚至是空值),就会有 2K 的空间被自动分配给该数据。 除非删除该记录,否则你无法收回这部分存储空间。
数值型(整数 INT 、小数 NUMERIC、钱数 MONEY)
INT 对比 SMALLINT 对比 TINYINT
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个 TINYINT 型数据只占用一个字 节;一个 INT 型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增 长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见, 你应该预测一下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。
NUMERIC
为了能对字段所存放的数据有更多的控制,你可以使用 NUMERIC 型数据来同时表示一个数的整 数部分和小数部分。NUMERIC 型数据使你能表示非常大的数——比 INT 型数据要大得多。一个 NUMERIC 型字段可以存储从-10^38 到 10^38 范围内的数。NUMERIC 型数据还使你能表示有 小数部分的数。例如,你可以在 NUMERIC 型字段中存储小数 3.14。
MONEY 对比 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 对比 SMALLDATETIME)
一个 DATETIME 型的字段可以存储的日期范围是从 1753 年 1 月 1 日第一毫秒到 9999 年 12 月 31 日最后一毫秒。
如果你不需要覆盖这么大范围的日期和时间,你可以使用 SMALLDATETIME 型数据。它与 DATETIME 型数据同样使用,只不过它能表示的日期和时间范围比 DATETIME 型数据小,而且 不如 DATETIME 型数据精确。一个 SMALLDATETIME 型的字段能够存储从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期,它只能精确到秒。
DATETIME 型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值