日期:2011-05-02 15:22:00 来源:本站整理
<b>跟我学MS SQL Server(6)</b>[MSSQL防范]
本文“<b>跟我学MS SQL Server(6)</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
(六)串行数据范例
SQL的数据范例决意了一个字段的内容在数据库中会被若何处理、存储和显示.SQL92定义了尺度的数据范例,目的是给数据库制造商成立自己的数据范例供应蓝图.在前面的文章中,我们介绍了一些常用的数据范例,这些数据范例分为四大类:
串行
数值
日期时间
区间型
本文将向你概述这些数据范例在数据库中是若何利用的,然后侧重注释串行数据范例.这些信息可以作为有效的参考,大概作为关于某个数据库制造商具体产品中数据范例的后台知识.
利用数据范例
当你在数据库中成立了一个表格,你就定义了每列的名字以及要输入到这些列中的内容的数据范例.从先前的文章中借用一个例子:
CREATE TABLE Products
(prod_id INT(16)AUTO_INCREMENT, prod_color VARCHAR(20),
prod_descr VARCHAR(255), prod_size DECIMAL(8,2),
UNIQUE (`prod_id`));
在以上的查询中,定义行prod_color VARCHAR(20)发出指令要成立一个列,名字是prod_color,数据范例是VARCHAR,长度为20.
你的数据库利用和每个范例相关的描写符来辨别数据范例.比方,VARCHAR数据范例的描写符所含的信息将它辨别为串行数据型,它包含全部的串字符,其长度是可变的.数据库里列的定义还包含了其他信息,比方对应于数据范例的特定长度.
如前所述,每个数据库制造商都但愿在SQL92定义的尺度上成立自己的数据范例.这样每个数据库在定义数据范例时都可以设定自己所需求的最大容量限制和其他属性.许大都据库利用的数据范例名字和这里列出来的一样,固然每种的实现办法都有细小的差别.要肯定特定数据范例利用办法的细节最好的办法还是查阅数据库制造商的文档.
已经说过了,但愿对尺度字符串数据范例有更多的理解就往下看.
串
有两种主要的串行数据范例:字符和位.串行利用数据库里由SQL_TEXT所定义的字符.SQL_92尺度同时还供应了NATIONAL CHARACTER(国家字符集)和NATIONAL CHARACTER VARYING(国家字符集变体),这二者都能利用可定义字符集.后者的处理办法和CHARACTER以及CHARACTER VARYING范例一样.
CHARACTER | CHAR
利用办法:CHARACTER(clength) | CHAR(clength)
CHARACTER和CHAR这两个关键字是相同的.
CHARACTER范例一个突出的特点是它们可以包含
CHARACTER 范例包含了固定长度的串字符(来自SQL_TEXT的语言集),clength.
你可以把CHARACTER的数据范例字段和相同范例的其他答应差别长度的字段对比,大概和 CHARACTER VARYING 数据范例对比.
有些数据库答应和数值数据范例对比.
CHARACTER VARYING | CHAR VARYING | VARCHAR
利用办法:CHARACTER VARYING(maxlength) | CHAR VARYING(maxlength) | VARCHAR(maxlength)
CHARACTER VARYING,CHAR VARYING,和VARCHAR这几个关键字是相同的.
这些范例能包容最大长度的字符串,maxlength.
数据库把字段的长度作为值的实际长度.
你可以把这些数据范例的字段和相同范例的其他答应差别最大长度的字段对比.
BIT
利用办法:BIT(blength)
这种范例包含了带有长度的位字符(1和0),blength.比方,假如我们利用BIT(2),样本值将为"01".
有的数据库会在串的开首插入空位,其的则会填充它们以符合固定长度的要求.
位字符是串,不是整数.
你可以把BIT数据范例的字段与相同范例的答应差别长度的别的字段对比,大概和BIT VARYING数据范例对比.
有些数据库答应BITS和CHARACTER大概INTEGER范例对比.
BIT VARYING
利用办法: BIT VARYING(maxlength)
这种范例包含了最大长度的位字符,maxlength.
所记录的长度被设为值的实际长度.
数据库答应和其的BIT VARYING数据字段对比,大概和BIT的数据字段对比.
对我们的SQL系列有了一些理解了吗?
请把你的评论、问题大概回应发到下面的谈论栏,大概假如你有关于SQL底子系列的论题,可以发到我们编辑的信箱.
串理论
数据库生产商通过成立这些底子的数据范例来成立你实际要实现的数据范例.关于字符串,这便大概包含相同名字的(差别)范例,比方CHAR或BIT,大概扩大到包含TEXT,SMALL TEXT,以及包含字符串的其他数据范例.
数据从一个数据库迁移到另一个数据库时,这种计划上的弹性产生了一个必须降服的障碍.在一个数据库里,你大概会有一个叫做CHAR的范例,这个范例所答应的最大容量大于你要迁移到的数据库的最大容量.并且,(SQL92)尺度中没有明肯定义的范例大概会改变较大,这样的话只用顺从惯例来简化迁移.
在ZDNet China近来的文章《BLOB移植的替换筹划》中谈论了存在数据范例移植问题时保护数据的一个大概的办理筹划.SQL尺度没要包含存储二进制数据的指标,这造成了差别数据库制造商产品间的不兼容.软件开辟者必须找到提到筹划列排除这些障碍.
在这个系列的下一篇文章中,我们会看看SQL92的数字数据范例,每个有什么特点,以及对要实现这些范例的数据库的要求
以上是“<b>跟我学MS SQL Server(6)</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论