新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > MySQL教程 > 正文:MySQL中文参考手册-- 创造并使用一个数据库

MySQL中文参考手册-- 创造并使用一个数据库

新客网 XKER.COM 2006-10-10 来源: 收藏本文

  
  扩展正则表达式的一些字符是:
  
  “.”匹配任何单个的字符。
  一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。
  “ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
  正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
  如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
  为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
  为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:
  
  为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:
  
  mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
  +--------+--------+---------+------+------------+------------+
  | name  | owner | species | sex | birth   | death   |
  +--------+--------+---------+------+------------+------------+
  | Buffy | Harold | dog   | f  | 1989-05-13 | NULL    |
  | Bowser | Diane | dog   | m  | 1989-08-31 | 1995-07-29 |
  +--------+--------+---------+------+------------+------------+
  
  为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
  
  mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
  +--------+--------+---------+------+------------+-------+
  | name  | owner | species | sex | birth   | death |
  +--------+--------+---------+------+------------+-------+
  | Fluffy | Harold | cat   | f  | 1993-02-04 | NULL |
  | Buffy | Harold | dog   | f  | 1989-05-13 | NULL |
  +--------+--------+---------+------+------------+-------+
  
  为了找出包含一个“w”的名字,使用“[wW]”匹配小写或大写的“w”:
  
  mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";
  +----------+-------+---------+------+------------+------------+
  | name   | owner | species | sex | birth   | death   |
  +----------+-------+---------+------+------------+------------+
  | Claws  | Gwen | cat   | m  | 1994-03-17 | NULL    |
  | Bowser  | Diane | dog   | m  | 1989-08-31 | 1995-07-29 |
  | Whistler | Gwen | bird  | NULL | 1997-12-09 | NULL    |
  +----------+-------+---------+------+------------+------------+
  
  既然如果一个正规表达式出现在值的任何地方,其模式匹配了,就不必再先前的查询中在模式的两方面放置一个通配符以使得它匹配整个值,就像如果你使用了一个SQL模式那样。
  
  为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在两者之间:
  
  mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";
  +-------+--------+---------+------+------------+-------+
  | name | owner | species | sex | birth   | death |
  +-------+--------+---------+------+------------+-------+
  | Claws | Gwen  | cat   | m  | 1994-03-17 | NULL |

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐