正则表达式和运算符

上传人:宝路 文档编号:47673449 上传时间:2018-07-04 格式:PPT 页数:21 大小:237.65KB
返回 下载 相关 举报
正则表达式和运算符_第1页
第1页 / 共21页
正则表达式和运算符_第2页
第2页 / 共21页
正则表达式和运算符_第3页
第3页 / 共21页
正则表达式和运算符_第4页
第4页 / 共21页
正则表达式和运算符_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《正则表达式和运算符》由会员分享,可在线阅读,更多相关《正则表达式和运算符(21页珍藏版)》请在金锄头文库上搜索。

1、 正则表达式查询使用正则表达式查询正则则表达式是用某种模式去匹配一类类字符串的一个方 式。例如,使用正则则表达式可以查询查询 出包含A、B、C其中 任一字母的字符串。正则则表达式的查询查询 能力比通配字符的 查询查询 能力更强大,而且更加的灵活。正则则表达式可以应应用 于非常复杂查询杂查询 。本节节将详细讲详细讲 解如何使用正则则表达式来 查询查询 。 MySQL中,使用REGEXP关键键字来匹配查询查询 正则则表达 式。其基本形式如下: 属性名 REGEXP 匹配方式1 查询以特定字符或字符串开头的记录使用字符“”可以匹配以特定字符或字符串 开头头的记录记录 。 下面从student表nam

2、e字段中查询查询 以字母 “L”开头头的记录记录 。SQL代码码如下:SELECT * FROM student WHERE name REGEXP L;2 查询以特定字符或字符串结尾的记录使用字符“$”可以匹配以特定字符或字符串 结结尾的记录记录 。 下面从student表name字段中查询查询 以字母 “c”结结尾的记录记录 。SQL代码码如下: SELECT * FROM student WHERE name REGEXP c$;3 用符号“.”来替代字符串中的任意一个 字符用正则则表达式来查询时查询时 ,可以用“.”来替代 字符串中的任意一个字符。 下面从student表name字段中

3、查询查询 以字母 “L”开头头,以字母“y”结结尾,中间间有两个任意字 符的记录记录 。SQL代码码如下: SELECT * FROM student WHERE name REGEXP L.y$;4 匹配指定字符中的任意一个使用方括号()可以将需要查询查询 字符组组 成一个字符集。只要记录记录 中包含方括号中的任 意字符,该记录该记录 将会被查询查询 出来。 例如,通过过“abc”可以查询查询 包含a、b、c 这这三个字母中任何一个的记录记录 。 下面从student表name字段中查询查询 包含 c,e,o3个字母中任意一个的记录记录 。 SELECT * FROM student WHE

4、RE name REGEXP ceo;5 匹配指定字符以外的字符使用“字符集合”可以匹配指定字符以外 的字符。 下面从student表name字段中查询查询 包含a到 w字母和数字以外的字符的记录记录 。SQL代码码如 下SELECT * FROM student WHERE name REGEXP a-w0-9; Sno name 2 Lucy 4 Lily6 匹配指定字符串正则则表达式可以匹配字符串。当表中的记记 录录包含这这个字符串时时,就可以将该记录查询该记录查询 出来。如果指定多个字符串时时,需要用符号“|” 隔开。只要匹配这这些字符串中的任意一个即可 。 SELECT * FROM

5、 student WHERE name REGEXP ic;SELECT * FROM student WHERE name REGEXP |ic|uc|aa;7 使用“*”和“+”来匹配多个字符正则则表达式中,“*”和“+”都可以匹配多个该该 符号之前的字符。但是,“+”至少表示一个字符, 而“*”可以表示零个字符. 从STUDENT表中NAME字段中查询查询 字母c 之前出现现a的记录记录 SELECT * FROM student WHERE name REGEXP a*c; Sno name 2Aric 3Eric 4Jack 5lucy8 使用M或者M,N来指定字符串连续出现的次数正

6、则则表达式中,“字符串M”表示字符串连续连续 出现现M次 ;“字符串M,N”表示字符串联连续联连续 出现现至少M次,最多N次 。例如,“ab2”表示字符串“ab”连续连续 出现现两次。“ab2,4”表 示字符串“ab”连续连续 出现现至少两次,最多四次。 从STUDENT表中NAME字段中查询查询 出现过现过 a3次记录记录 SELECT * FROM student WHERE name REGEXP a3; Sno name 8aaa 9Dadaaa 10aaabd运算符简介当数据库库中的表定义义好了以后,表中的数据代表的意义义 就已经经定下来了。通过过使用运算符进进行运算,可以得到包含

7、另一层层意义义的数据。例如,学生表中存在一个birth字段,这这 个字段是表示学生的出生年份。如果,用户现户现 在希望查查找这这 个学生的年龄龄。而学生表中只有出生年份,没有字段表示年 龄龄。这这就需要进进行运算,用当前的年份减去学生的出生年份 ,这这就可以计计算出学生的年龄龄了。 从上面可以知道,MySQL运算符可以指明对对表中数据 所进进行的运算,以便得到用户户希望得到的数据。这样这样 可以使 MySQL数据库库更加灵活。MySQL运算符包括算术术运算符、 比较较运算符、逻辑逻辑 运算符和位运算符这这四类类。 算术术运算符:比较较运算符: 逻辑逻辑 运算符:位运算符:算术运算符算术术运算符

8、是MySQL中最常用的一类类运算符。 MySQL支持的算术术运算符包括加、减、乘、除、 求余。 符号表达式的形式作用 +x1+x2+xn加法运算 -x1-x2-xn减法运算 *x1*x2*xn乘法运算 /x1/x2除法运算,返回x1除以x2的商 DIVx1 DIV x2除法运算,返回商。同“/” %x1%x2求余运算,返回x1除以x2的余数 MODMOD(x1,x2)求余运算,返回余数。同“%”比较运算符比较较运算符是查询查询 数据时时最常用的一类类运算符。SELECT 语语句中的条件语语句经经常要使用比较较运算符。通过这过这 些比较较运算符 ,可以判断表中的哪些记录记录 是符合条件的。 1运

9、算符“=” 2运算符“” 5运算符“=” 6运算符“28,17=16, 3017,7NULL, NULLNULL。 (3)判断字符串“mybook”是否为为空,是否以字母m开头头, 以字母k结结尾。 (4)在MySQL中执执行下列逻辑逻辑 运算:2&0&NULL, 1.5&2,3|NULL,NOT NULL,3 XOR 2,0 XOR NULL。小结本章介绍了MySQL中的运算符。MySQL中包括四类运 算符,分别是算术运算符、比较运算符、逻辑运算符、位运 算符。前三种运算符在实际操作中使用比较频繁,也是本章 中重点讲述的内容。因此,读者需要认真学习这部分的内容 。位运算符是本章的难点。因为,位运算符需要将操作数转 换为二进制数,然后进行位运算。这要求读者能够掌握二进 制运算的相关知识。位运算符在实际操作中使用的频率比较 低。本章习题1在MySQL中执执行如下算术术表达式:5*2-4,(2+7)/3 ,9 DIV 2,MOD(9,2)。 2在MySQL中执执行下面的比较较运算的表达式: 40=30,40NULL,77。 3在MySQL中执执行下面的逻辑逻辑 运算的表达式:- 1&2,-2|NULL,NULL XOR 0,1 XOR 0,!-1。 4在MySQL中执执行下列位运算:11&15,11|15, 1315,15。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号