|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不管怎么样,市场的结果已经证明MySQL具有性价比高、灵活、MySQL学习教程广为使用和具有良好支持的特点。数据|数据范例SQL的数据范例决意了一个字段的内容在数据库中会被怎样处置、存储和显现。SQL92界说了尺度的数据范例,目标是给数据库打造商创建本人的数据范例供应蓝图。在后面的文章中,我们先容了一些经常使用的数据范例,这些数据范例分为四年夜类:
串行
数值
日期工夫
区间型
本文将向你概述这些数据范例在数据库中是怎样利用的,然后侧重注释串行数据范例。这些信息能够作为有效的参考,大概作为关于某个数据库打造商详细产物中数据范例的背景常识。
利用数据范例
当你在数据库中创立了一个表格,你就界说了每列的名字和要输出到这些列中的内容的数据范例。从先前的文章中借用一个例子:
CREATETABLEProducts
(prod_idINT(16)AUTO_INCREMENT,prod_colorVARCHAR(20),
prod_descrVARCHAR(255),prod_sizeDECIMAL(8,2),
UNIQUE(`prod_id`));
在以上的查询中,界说行prod_colorVARCHAR(20)收回指令要创立一个列,名字是prod_color,数据范例是VARCHAR,长度为20。
你的数据库利用和每一个范例相干的形貌符来区分数据范例。比方,VARCHAR数据范例的形貌符所含的信息将它区分为串行数据型,它包括一切的串字符,其长度是可变的。数据库里列的界说还包括了其他信息,比方对应于数据范例的特定长度。
如前所述,每一个数据库打造商都但愿在SQL92界说的尺度上创建本人的数据范例。如许每一个数据库在界说数据范例时都可以设定本人所必要的最年夜容量限定和其他属性。很多数据库利用的数据范例名字和这里列出来的一样,只管每种的完成办法都有巨大的不同。要断定特定命据范例利用办法的细节最好的办法仍是查阅数据库打造商的文档。
已说过了,但愿对尺度字符串数据范例有更多的懂得就往下看。
串
有两种次要的串行数据范例:字符和位。串利用用数据库里由SQL_TEXT所界说的字符。SQL_92尺度同时还供应了NATIONALCHARACTER(国度字符集)和NATIONALCHARACTERVARYING(国度字符集变体),这二者都能利用可界说字符集。后者的处置办法和CHARACTER和CHARACTERVARYING范例一样。
CHARACTER|CHAR
利用办法:CHARACTER(clength)|CHAR(clength)
CHARACTER和CHAR这两个关头字是不异的。
CHARACTER范例一个凸起的特性是它们可以包括<space(空缺)>这个字符。
CHARACTER范例包括了流动长度的串字符(来自SQL_TEXT的言语集),clength。
<space>字符在值的长度小于clength时起添补感化。这暗示CHARACTER字段的长度是流动的。
你能够把CHARACTER的数据范例字段和不异范例的其他同意分歧长度的字段对照,大概和CHARACTERVARYING数据范例对照。
有些数据库同意和数值数据范例对照。
CHARACTERVARYING|CHARVARYING|VARCHAR
利用办法:CHARACTERVARYING(maxlength)|CHARVARYING(maxlength)|VARCHAR(maxlength)
CHARACTERVARYING,CHARVARYING,和VARCHAR这几个关头字是不异的。
这些范例能包容最年夜长度的字符串,maxlength。
数据库把字段的长度作为值的实践长度。
你能够把这些数据范例的字段和不异范例的其他同意分歧最年夜长度的字段对照。
BIT
利用办法:BIT(blength)
这类范例包括了带有长度的位字符(1和0),blength。比方,假如我们利用BIT(2),样本值将为“01”。
有的数据库会在串的开首拔出空位,其的则会添补它们以切合流动长度的请求。
位字符是串,不是整数。
你能够把BIT数据范例的字段与不异范例的同意分歧长度的别的字段对照,大概和BITVARYING数据范例对照。
有些数据库同意BITS和CHARACTER大概INTEGER范例对照。
BITVARYING
利用办法:BITVARYING(maxlength)
这类范例包括了最年夜长度的位字符,maxlength。
所纪录的长度被设为值的实践长度。
数据库同意和其的BITVARYING数据字段对照,大概和BIT的数据字段对照。
对我们的SQL系列有了一些懂得了吗?
请把你的批评、成绩大概回应发到上面的会商栏,大概假如你有关于SQL基本系列的论题,能够发到我们编纂的信箱。
串实际
数据库临盆商经由过程创建这些基本的数据范例来创立你实践要完成的数据范例。关于字符串,这便可能包含不异名字的(分歧)范例,比方CHAR或BIT,大概扩大到包含TEXT,SMALLTEXT,和包括字符串的其他数据范例。
数据从一个数据库迁徙到另外一个数据库时,这类计划上的弹性发生了一个必需克制的停滞。在一个数据库里,你大概会有一个叫做CHAR的范例,这个范例所同意的最年夜容量年夜于你要迁徙到的数据库的最年夜容量。并且,(SQL92)尺度中没有明白界说的范例大概会变更较年夜,如许的话只用服从常规来简化迁徙。
在ZDNetChina比来的文章《BLOB移植的交换计划》中会商了存在数据范例移植成绩时回护数据的一个大概的办理计划。SQL尺度没要包含存储二进制数据的目标,这形成了分歧数据库打造商产物间的不兼容。软件开辟者必需找到提到计划列扫除这些停滞。
在这个系列的下一篇文章中,我们会看看SQL92的数字数据范例,每一个有甚么特性,和对要完成这些范例的数据库的请求。
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。 |
|