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

表名: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.仔细注意通配符的位置,如果放错地方,可能会返回不想要的数据。

你可能感兴趣的:(mysql必知必会读书笔记)