首页 > 代码库 > 【MySQL比知必会】第八章 用通配符进行过滤

【MySQL比知必会】第八章 用通配符进行过滤

1、LIKE操作符

  之前使用的操作符都是针对已知的数据,而使用通配符可以对未知数据也进行搜索。

  通配符(wildcard):用来匹配值得一部分的特殊字符。

  搜索模式(search pattern):由字面值、通配符或两者组合构成的搜索条件。

  搜索子句要使用使用通配符,必须使用LIKE操作符,因为它指示MySQL,后面跟的搜索模式是通配符匹配而不是直接相等匹配。

  谓词:当一个操作符作为谓词时,它不再是一个操作符,LIKE是一个谓词。

2、百分号通配符%

  %表示任何字符出现任意次数。

  输入:SELECT prod_id,prod_name

     FROM products

     WHERE prod_name LIKE ‘jet%‘;

  分析:显示两列--产品id和name,表来源-products,过滤条件 商品name头三个字符为jet(不论大小写,但是搜索模式是可以设置区分大小写的,此处未设置)。

  注:通配符可以出现在搜索模式中的任意位置使用,个数也是任意个,比如:LIKE ‘%jet%‘, LIKE ‘s%e‘,通配符除可以配一个或多个字符外,还能匹配0个字符,所以通配符的范围实际为0-∞。通配符不能匹配null。

3、下划线通配符(_)

  下划线通配符只能匹配一个字符。

4、使用通配符的技巧

  不要过度使用通配符,通配符的是以性能为代价的。

  一定要使用通配符时,不要把它放在搜索模式的开始处。

 

【MySQL比知必会】第八章 用通配符进行过滤