创新路
我们一直在努力

MySQL学习笔记(35)

在使用 MySQL SELECT语句时,可以使用 WHERE 子句来指定查询条件,从 FROM 子句的中间结果中选取适当的数据行,达到数据过滤的效果。

WHERE <查询条件> {<判定运算1>,<判定运算2>,…}

其中,判定运算其结果取值为 TRUE、FALSE 和 UNKNOWN。

判定运算的语法分类如下:

<表达式1>{=|<|<=|>|>=|<=>|<>|!=}<表达式2>

<表达式1>[NOT]LIKE<表达式2>

<表达式1>[NOT][REGEXP|RLIKE]<表达式2>

<表达式1>[NOT]BETWEEN<表达式2>AND<表达式3>

<表达式1>IS[NOT]NULL

使用 LIKE 的模糊查询

字符串匹配的语法格式如下:

<表达式1> [NOT] LIKE <表达式2>

字符串匹配是一种模式匹配,使用运算符 LIKE 设置过滤条件,过滤条件使用通配符进行匹配运算,而不是判断是否相等进行比较。

相互间进行匹配运算的对象可以是 CHAR、VARCHAR、TEXT、DATETIME 等数据类型。运算返回的结果是 TRUE 或 FALSE。

利用通配符可以在不完全确定比较值的情形下创建一个比较特定数据的搜索模式,并置于关键字 LIKE 之后。可以在搜索模式的任意位置使用通配符,并且可以使用多个通配符。MySQL 支持的通配符有以下两种:

1、百分号(%)

百分号是 MySQL 中常用的一种通配符,在过滤条件中,百分号可以表示任何字符串,并且该字符串可以出现任意次。

        MySQL 默认是不区分大小写的,若要区分大小写,则需要更换字符集的校对规则。

        百分号不匹配空值。

        百分号可以代表搜索模式中给定位置的 0 个、1 个或多个字符。

        尾空格可能会干扰通配符的匹配,一般可以在搜索模式的最后附加一个百分号。

2、下划线(_)

下划线通配符和百分号通配符的用途一样,下画线只匹配单个字符,而不是多个字符,也不是 0 个字符。

例1、在 tb_students_info 表中,查找所有以“T”字母开头的学生姓名;

image.png

在搜索匹配时,通配符“%”可以放在不同位置。

例2、在 tb_students_info 表中,查找所有包含“e”字母的学生姓名;

image.png

查询字符串中包含字母 e 的学生的姓名,只要名字中有字母 e,其前面或后面无论有多少个字符,都满足查询的条件。

例3、在 tb_students_info 表中,查找所有以字母“y”结尾,且“y”前面只有 4 个字母的学生的姓名;

image.png

注意在查询时不要过度使用通配符,对通配符检索的处理一般会比其他检索方式花费更长的时间。

未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(35)

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机