MYSQL教程之跟我学SQL:(六)串行数据范例
不管怎么样,市场的结果已经证明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的数字数据范例,每一个有甚么特性,和对要完成这些范例的数据库的请求。
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。 大家注意一点。如下面的例子: 原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜! 我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过! 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。 SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
页:
[1]