正则表达式和运算符.ppt

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

《正则表达式和运算符.ppt》由会员分享,可在线阅读,更多相关《正则表达式和运算符.ppt(21页珍藏版)》请在三一办公上搜索。

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

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

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

4、 name REGEXP a-w0-9;Sno name2 Lucy4 Lily,6 匹配指定字符串,正则表达式可以匹配字符串。当表中的记录包含这个字符串时,就可以将该记录查询出来。如果指定多个字符串时,需要用符号“|”隔开。只要匹配这些字符串中的任意一个即可。SELECT*FROM student WHERE name REGEXP ic;SELECT*FROM student WHERE name REGEXP|ic|uc|aa;,7 使用“*”和“+”来匹配多个字符,正则表达式中,“*”和“+”都可以匹配多个该符号之前的字符。但是,“+”至少表示一个字符,而“*”可以表示零个字符.从ST

5、UDENT表中NAME字段中查询字母c之前出现a的记录SELECT*FROM student WHERE name REGEXP a*c;Sno nameAric EricJacklucy,8 使用M或者M,N来指定字符串连续出现的次数,正则表达式中,“字符串M”表示字符串连续出现M次;“字符串M,N”表示字符串联连续出现至少M次,最多N次。例如,“ab2”表示字符串“ab”连续出现两次。“ab2,4”表示字符串“ab”连续出现至少两次,最多四次。从STUDENT表中NAME字段中查询出现过a3次记录SELECT*FROM student WHERE name REGEXP a3;Sno na

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

7、:比较运算符:逻辑运算符:位运算符:,算术运算符,算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括加、减、乘、除、求余。,比较运算符,比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。1运算符“=”2运算符“”和“!=”3运算符“”(与=是一样的,用来判断操作数是否相等。区别在于“”可以用来判断NULL)4运算符“”5运算符“=”6运算符“”7运算符“=”8运算符“IS NULL”9运算符“BETWEEN AND”10运算符“IN”11运算符“LIKE”12运算符“REG

8、EXP”,逻辑运算符,逻辑运算符用来判断表达式的真假。逻辑运算符的返回结果只有1和0。如果表达式是真,结果返回1。如果表达式是假,结果返回0。逻辑运算符又称为布尔运算符。MySQL中支持四种逻辑运算符。这四种逻辑运算符分别是与、或、非和异或。1与运算2或运算3非运算4异或运算,1、与运算操作数只有0时,结果返回0;,3、非运算!或者NOT表示非运算。通过非运算将返回与操作数相反地结果。如果操作数0,返回1;如果操作数非0,返回0;如果操作数十NULL,返回NULL;4、异或运算XOR表示异或运算;只要其中任何一个操作数为NULL,结果返回NULL;如果X1和X2都是非0的数字或者都是0时,结果

9、返回0;如果X1和X2中一个是非0,另一个是0时,结果返回1;,位运算符,位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,然后进行位运算。然后再将计算结果从二进制数变回十进制数。MySQL中支持六种位运算符。这六种位运算符分别是按位与、按位或、按位取反、按位异或、按位左移和按位右移。1按位与2按位或3按位取反4按位异或5按位左移与按位右移,1、按位与&表示按位与。先将十进制转换为二进制,结果再转为十进制。1&1=11&0=02、按位或|表示或。1|1=11|0=1;3、按位取反表示按位取反。1=00=1,上机实践,题目要求:(1)在MySQL中执行下面的表达式:4+3-

10、1,3*2+7,8/3,9%2。(2)在MySQL中执行下面的表达式:3028,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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号