mysql使用--带搜索条件的查询

1.简单搜索条件
我们需要把搜索条件放在WHERE子句中,然后将
WHERE子句放到FROM子句的后面。
WHERE中支持的比较运算符有:

运算符示例描述
=a=b等于
<=>a<=>b等于
<>或!=a<>b不等于
<a<b不等于
<=a<=b不等于
>a>b不等于
>=a>=b不等于
BETWEENa BETWEEN b AND ca的值必须满足b<=a<=c
NOT BETWEENa NOT BETWEEN b AND ca的值必须不满足b<=a<=c

2.匹配列表中的元素

运算符示例描述
INa IN (b1, b2, …)a是b1,b2…中的某一个
NOT INa NOT IN (b1, b2, …)a不是b1,b2,…中的任意一个

3.匹配NULL
为某一列填入NULL意味着这一列的值尚未确定。在判断某一列的值是否为NULL的时候,并不能单纯地使用=运算符,而需使用专门判断列是否是NULL的运算符。

运算符示例描述
IS NULLa IS NULLa的值是NULL
IS NOT NULLa IS NOT NULLa的值不是NULL

4.多个搜索条件
_1.AND运算符
_2.OR运算符
_3.更复杂的搜索条件的组合
AND优先级高于OR。为避免混乱,在一个查询中有多个搜索条件时,最好用小括号来显式地指定各个搜索条件的检测顺序。
如:SELECT * FROM student_score WHERE (score > 95 OR score < 55) AND subject = 'Mysql是怎样运行的';

_4.通配符

运算符示例描述
LIKEa LIKE ba匹配b
NOT LIKEa NOT LIKE ba不匹配b

既然我们不能完整描述要查询的信息,就用某个符号来替代这些模糊的信息,这个符号就称为通配符。MySQL支持下面这两个通配符。
(1).%:代表任意数量的字符,0个字符也可以
如:SELECT name FROM student_info WHERE name LIKE '狗%';
如:SELECT name FROM student_info WHERE name LIKE '%甘%';
(2)._:代表任意一个字符

通配符不能代表NULL,如需匹配NULL,则需使用IS NULLIS NOT NULL
_5.转义通配符
如果待匹配的字符串中本身就包含普通字符’%‘或者’_‘该咋办,如何区分它是一个通配符还是普通字符?
解决办法是在它们前面加一个反斜杠(\)来和通配符区分开来。即:
(1).’\%‘代表普通字符’%
(2).‘\_‘代表普通字符’_

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

raindayinrain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值