mysql 必知必会 -- 一些笔记

  1. 在通过过滤选择出不具有特定值的行时,你可能希望返回具有 null 值的行。但是,不行。因为未知 具有特殊的含义,数据库不知道他们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们,因此 在过滤时,一定要验证返回数据中是否确实给出了被过滤列具有 null 的行    is null / is not null
  2. regexp 后所跟的东西做为正则表达式
  3. 匹配字符类

存在找出你自己经常使用的数字、所有字母字符狐火所有数字字母字符等的匹配。为更方便的 工作,可以使用预定义的字符集,成为字符类 character class

类 说明

【:alnum:】 任意字母和数字 a~zA~Z0~9

【:alpha:】 任意字符 a~zA~Z

【:blank:】 空格和制表符\\t

【:cntrl:】 ASCII 控制字符 0~31 和 127

【:digit:】任意数字

【:graph:】 与【:print:】相同,但不包括空格

【:lower:】任意小写字母

【:print:】任意可打印字符

【:punct:】 既不在【:alnum:】又不在【:cntrl:】的任 意字符

【:space:】包括空格在内的任意空白字符

【:upper:】任意大写字母

【:xdigit:】任意十六进制数字

  1. 正则表达式regexp
    • 或匹配|’,匹配几个字符之一‘[123]’==‘[1|2|3]’,匹配某个字符除外‘[^2]’,匹配范围‘[0~9]
    • 特殊字符匹配:\\f换页,\\n换行,\\r回车,\\t制表符,\\v纵向制表符
    • 匹配字符类:[:alnum:]任意字符字母,[:alpha:]任意字符, [:blank:]空格制表符,[:cntrl:] ASCII控制字符0~31127[:digit:]任意数字,[:print:]任何可打印字符,[:graph:][:print:]相同、但不包括空格,[:lower:]任意小写字母,[:pubct:]既不在[:alnum:]又不在[:cntrl:]的任意字符,[:space:]包括空格的任意空白字符,[:upper:]任意大写字母,[:xdigit:]任意十六进制数字
    • 匹配多个实例:*0个或多个匹配,+一个或多个匹配=={1, },?0个或1个匹配=={0,1}{n}指定数目匹配,{n, }至少n个匹配,{n,m}匹配数目范围(m<=255)
  2. 拼接字段concat
  3. 使用数据处理函数 RTrim和Trim可以去除串尾和串首的空格,LTrim去除串左边的空格
 
posted @ 2014-11-27 09:42  settingsun1225  阅读(67)  评论(0编辑  收藏  举报