当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:44:00  来源:本站整理

MySQL数据范例[MySQL防范]

赞助商链接



  本文“MySQL数据范例[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
按照定义,数据库管理系统的目的就是管理数据.即便一条简单的SELECT 1语句也触及表达式求值以产生一个整型数据值.MySQL中的每个数据值都有范例.比方, 37.4 是一个数,而" a b c"是一个串.有时,数据的范例是明显的,因为在利用CREATE TABLE 语句时指定了作为表的构成部份定义的每个列的范例,如:



而有时,数据范例是不明确的,如在一个表达式中引用直接值时,将值传送给一个函数,或利用从该函数返回的值,如:



 INSERT 语句完成下列操作,这些操作全都触及数据范例:

 ■ 将整数值14 赋给整数列i n t _ c o l.

 ■ 将串值" a"和"b"传送给函数C O N C AT( ).C O N C AT( ) 返回串值"a b",这个串值被赋予串列s t r _ c o l.

 ■ 将整数值1999 0 115 赋给日期列date _ c o l.而这是不匹配的,因此, MySQL将自动举行数据范例转换.要有效地操纵MySQL,必须理解其怎样处理数据.本章描写了MySQL可以处理的数据范例,并谈论了在处理这些数据范例时所呈现的问题,主要内容以下:

 ■ 通用数据范例,包含NULL 值.

 ■ 特别数据范例,以及描写每种列范例的属性.有些列范例是相当常见的,如CHAR 串范例.而有的如AUTO_INCREMENT 整型和T I M E S TAMP 日期范例,其性能很特别,应当加以理解免得出错.

 ■ 恰本地挑选表的列范例.在成立表时,重要的是要理解怎样为自己的目的挑选最好的范例,以及在几种范例都可以用于想要存储的值时挑选一种范例.

 ■ 表达式求值法则.MySQL供应了很多可用于表达式的运算符和函数,以便对数据举行检索、显示和处理.表达式求值的法则包含范例转换法则,在一种范例的值用于另一范例的值的情形时需用到范例转换法则.理解什么时刻举行范例转换以及怎样举行转换很重要;有的转换没有意义并且会产生错误值.将串"13"赋给整数列后果为值13,但是将串"a b c" 赋给该列得到0 值,因为"a b c"不是一个数.更坏的是,假如举行对比而不理解值的转换,大概会带来很大的危险,如在打算只对几行举行操作时,大概会更新或删除了表中的全部行.附录B和附录C供应了MySQL列范例、运算和函数的更多信息.

   2.1MySQL数据范例

 MySQL有几种数据范例,下面辨别举行介绍.

 1. 数值值

 数值是诸如48 或193.62 这样的值.MySQL支持阐明为整数(无小数部份)或浮点数(有小数部份)的值.整数可按十进制情势或十六进制情势表示.整数由数字序列构成.以十六进制情势表示的整数由" 0 x"后跟一个或多个十六进制数字(" 0"到"9"及"a"到"f")构成.比方, 0x0a 为十进制的10,而0 x ffff 为十进制的6 5 5 3 5.十六进制数字不辨别大小写,但其前缀" 0 x"不能为" 0 X".即0x0a 和0x0A 都是合理的,但0X0a 和0X0A 不是合理的.浮点数由一个阿拉伯数字序列、一个小数点和另一个阿拉伯数字序列构成.两个阿拉伯数字序列可以辨别为空,但不能同时为空.MySQL支持科学表示法.科学表示法由整数或浮点数后跟" e"或"E"、一个标记("+"或"-")和一个整数指数来表示.1.34E+12 和43.27e-1都是合理的科学表示法表示的数.而1.34E12 不是合理的,因为指数前的标记未给出.指数前的" e"也是一个合理的十六进制数字,因此有大概会弄错.数值前可放一个负号" -"以表示负值.

2. (字符)串值 串是诸如"Madison, Wi s c o n s i n"或"patient shows improvement"这样的值.既可用单引号也可用双引号将串值括起来.串中可以利用几个转义序列,它们用来表示特别的字符,见表2 - 1.每个序列以一个反斜杠("\")开始,指出暂时差别于普通的字符注释.注意NUL 字节与NULL 值差别;NUL 为一个零值字节,而NULL 为没有值.



  要在串中包含一个引号,可有以下三种挑选:

  ■ 假如串是用相同的引号括起来的,那么在串中需求引号的地方双写引号便可.如:



  ■ 假如串是用别的的引号括起来的,则不需求双写呼应引号.如:



  ■ 用反斜杠方法表示;这种办法不去管用来将串括起的是单引号还是双引号.如:



  在串的环境中,可用十六进制常数来指定串值.其语法与前面描写的数值值相同,但是每对十六进制的数字都被看做ASCII 代码并转换为字符,后来果用于串.比方, 0 x 6 16 2 6 3作为串时为" a b c".

  3. 日期和时间值

  日期和时间是一些诸如" 1999 - 0 6 - 17"或"12 : 3 0 : 4 3"这样的值.MySQL还支持日期/时间的组合,如" 1999-06-17 12:30:43".要分外注意这样一个事实,即MySQL是按年-月-日的次序表示日期的.MySQL的初学者普通对这一点很诧异,其实这是ANSI SQL 的尺度格局.可以操纵DATE _ F O R M AT( ) 函数以肆意情势显示日期值,但是缺省显示格局首先显示年,并且输入值也必须首先给出年.

  4. NULL 值

  NULL 是一种"无范例"的值.它过去惯常表示的意思是"无值"、"未知值"、"丧失的值"、"溢出值"以及"没有上述值"等.可将NULL 值插入表中、从表中检索它们,测试某个值能否是NULL,但不能对NULL 值举行算术运算(假如对NULL 举行算术运算,后来果为NULL).   以上是“MySQL数据范例[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .