第八章:用通配符进行过滤

表名:products  字段:product_id、product_name、product_price、vend_id(供应商)

1.LIKE操作符:

通配符(wildcard)用来匹配值的一部分的特殊字符。  搜索模式(search pattern)由字面值、通配符或两者组合构成的搜索条件。  通配符实际上是WHERE子句有特殊含义的字符,SQL支持几种通配符。  为了在搜索子句中使用通配符,必须使用LIKE操作符,LIKE指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

2.百分号(%)通配符:

最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数。  找到所有的以iron开头的产品名

SELECT product_name FROM products WHERE product_name like 'iron%'

注:通配符可在搜索模式中任意位置使用,并且可以使用多个通配符。  搜索产品名包含man的产品名

SELECT product_name FROM products WHERE product_name list '%man%'

注:%可以代表0、1和多个字符,且%不能匹配NULL。

3.下划线(_)通配符:

下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符。

SELECT product _ name FROM products WHERE product_name like 'an_man'

4.使用通配符的技巧:

通配符的弊端:通配符搜索处理要比一般的搜索花费更长时间(全表搜索)。  通配符使用技巧:  1.不要过度使用通配符,如果其他操作符能达到相同的目的,应该使用其他操作符。  2.如果必须使用通配符,除非有必要,否则不要把通配符放到搜索模式的开始处,放到开始处,搜索起来最慢。  3.仔细注意通配符的位置,如果放错地方,可能会返回不想要的数据。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

MySQL存储过程

可惜啊!MySQL目前并不支持在SQL语句中存在流控制语句,例如上面的IF NOT EXISTS THEN END IF;让人痛心疾首。但是我们可以使用存储过程...

731
来自专栏不想当开发的产品不是好测试

mysql @value := 用法

背景 有这么一张表,记录名字和分数,现在需要按照成绩排名,存在并列名次的情况 ? 解决方法 思路:按照score从大到小排序,第一行数据就是第一名,第二行就是第...

2268
来自专栏信安之路

sqlmap自带的tamper你了解多少?

sqlmap 是一款注入神器广为人知,里面的 tamper 常常用来绕过 WAF ,很实用的模块,但是却常常被新手忽略(比如我),今天就整理总结一下 tampe...

800
来自专栏Java进阶之路

IK分词器访问远程词典功能实现

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最...

1252
来自专栏程序员的SOD蜜

ORM查询语言(OQL)简介--高级篇:脱胎换骨

相关文章内容索引: ORM查询语言(OQL)简介--概念篇 ORM查询语言(OQL)简介--实例篇 ORM查询语言(OQL)简介--高级篇:脱胎换骨 ORM查询...

2687
来自专栏后端之路

mysql踩坑系列之查询空格

业务背景 某个雷电交加上线夜的凌晨 zzz: 测试小伙伴突然反馈了问题,某个业务去重失败导致db中重复插入数据。 知识背景 mysql作为传说中的开源界RDB...

18110
来自专栏架构师之旅

Oracle的常见问题汇总(2)——​ORACLE IN与EXISTS语句的区别

1、第一种解释方法: select * from A where id in(select id from B) 以上查询使用了in语句,in()只执行一...

1848
来自专栏lonelydawn的前端猿区

oracle细节

01、SQL查询语句不区分大小写,但是数据区分 02、where从句中Name=null是查询不到结果的,必须用 is null 03、union去重,unio...

2168
来自专栏乐沙弥的世界

mongoDB 逻辑运算符

880
来自专栏工科狗和生物喵

【计算机本科补全计划】Mysql 学习小计(2)

正文之前 昨天下午写了篇 Mysql学习小计,结果出乎意料的受欢迎?变相刺激了我多写点 Mysql?好吧,如尔所愿。我晚上反正还不知道学点啥,就把今天看的那个菜...

35211

扫码关注云+社区