|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。mysql|数据|数据范例MySQL数据范例
依据界说,数据库办理体系的目标就是办理数据。即便一条复杂的SELECT1语句也触及表达式求值以发生一个整型数据值。MySQL中的每一个数据值都有范例。比方,37.4是一个数,而“abc”是一个串。偶然,数据的范例是分明的,由于在利用CREATETABLE语句时指定了作为表的构成部分界说的每一个列的范例,如:
而偶然,数据范例是不明白的,如在一个表达式中援用间接值时,将值传送给一个函数,或利用从该函数前往的值,如:
INSERT语句完成以下操纵,这些操纵全都触及数据范例:
■将整数值14赋给整数列int_col。
■将串值“a”和“b”传送给函数CONCAT()。CONCAT()前往串值“ab”,这个串值被付与串列str_col。
■将整数值19990115赋给日期列date_col。而这是不婚配的,因而,MySQL将主动举行数据范例转换。要无效天时用MySQL,必需了解其如何处置数据。本章形貌了MySQL可以处置的数据范例,并会商了在处置这些数据范例时所呈现的成绩,次要内容以下:
■通用数据范例,包含NULL值。
■特别数据范例,和形貌每种列范例的属性。有些列范例是相称罕见的,如CHAR串范例。而有的如AUTO_INCREMENT整型和TIMESTAMP日期范例,其功能很特别,应当加以了解以避免堕落。
■得当地选择表的列范例。在创立表时,主要的是要懂得如何为本人的目标选择最好的范例,和在几品种型都能够用于想要存储的值时选择一品种型。
■表达式求值划定规矩。MySQL供应了很多可用于表达式的运算符和函数,以便对数据举行检索、显现和处置。表达式求值的划定规矩包含范例转换划定规矩,在一品种型的值用于另外一范例的值的情形时需用到范例转换划定规矩。了解什么时候举行范例转换和如何举行转换很主要;有的转换没成心义并且会发生毛病值。将串“13”赋给整数列了局为值13,可是将串“abc”赋给该列失掉0值,由于“abc”不是一个数。更坏的是,假如举行对照而不懂得值的转换,大概会带来很年夜的伤害,如在盘算只对几行举行操纵时,大概会更新或删除表中的一切行。附录B和附录C供应了MySQL列范例、运算和函数的更多信息。
2.1MySQL数据范例
MySQL有几种数据范例,上面分离举行先容。
1.数值值
数值是诸如48或193.62如许的值。MySQL撑持申明为整数(无小数部分)或浮点数(有小数部分)的值。整数可按十进制情势或十六进制情势暗示。整数由数字序列构成。以十六进制情势暗示的整数由“0x”后跟一个或多个十六进制数字(”0”到“9”及“a”到“f”)构成。比方,0x0a为十进制的10,而0xffff为十进制的65535。十六进制数字不辨别巨细写,但其前缀“0x”不克不及为“0X”。即0x0a和0x0A都是正当的,但0X0a和0X0A不是正当的。浮点数由一个阿拉伯数字序列、一个小数点和另外一个阿拉伯数字序列构成。两个阿拉伯数字序列能够分离为空,但不克不及同时为空。MySQL撑持迷信暗示法。迷信暗示法由整数或浮点数后跟“e”或“E”、一个标记(“+”或“-”)和一个整数指数来暗示。1.34E+12和43.27e-1都是正当的迷信暗示法暗示的数。而1.34E12不是正当的,由于指数前的标记未给出。指数前的“e”也是一个正当的十六进制数字,因而有大概会弄错。数值前可放一个负号“-”以暗示负值。
2.(字符)串值串是诸如“Madison,Wisconsin”或“patientshowsimprovement”如许的值。既可用单引号也可用双引号将串值括起来。串中可以使用几个本义序列,它们用来暗示特别的字符,见表2-1。每一个序列以一个反斜杠(“”)入手下手,指出一时分歧于一般的字符注释。注重NUL字节与NULL值分歧;NUL为一个零值字节,而NULL为没有值。
要在串中包含一个引号,可有以下三种选择:
■假如串是用不异的引号括起来的,那末在串中必要引号的中央双写引号便可。如:
■假如串是用别的的引号括起来的,则不必要双写响应引号。如:
■用反斜杠体例暗示;这类办法不往管用来将串括起的是单引号仍是双引号。如:
在串的情况中,可用十六进制常数来指定串值。其语法与后面形貌的数值值不异,可是每对十六进制的数字都被看做ASCII代码并转换为字符,其了局用于串。比方,0x616263作为串时为“abc”。
3.日期和工夫值
日期和工夫是一些诸如“1999-06-17”或“12:30:43”如许的值。MySQL还撑持日期/工夫的组合,如“1999-06-1712:30:43”。要出格注重如许一个现实,即MySQL是按年-月-日的按次暗示日期的。MySQL的初学者一般对这一点很惊异,实在这是ANSISQL的尺度格局。能够使用DATE_FORMAT()函数以恣意情势显现日期值,可是缺省显现格局起首显现年,并且输出值也必需起首给出年。
4.NULL值
NULL是一种“无范例”的值。它已往惯常暗示的意义是“无值”、“未知值”、“丧失的值”、“溢出值”和“没有上述值”等。可将NULL值拔出表中、从表中检索它们,测试某个值是不是是NULL,但不克不及对NULL值举行算术运算(假如对NULL举行算术运算,其了局为NULL)。
MySQL已经为支持所有最流行的Web2.0语言做好了准备,诸如Ruby、Ajax等,当然还有PHP。有的业界分析师说过,“每一个Web2.0公司实质上就是一个数据库公司。 |
|