LIKE 与 REGEXP 操作符
当需要搜索产品文本中包含某个特定关键字的所有产品,使用通配符来创建比较特定的数据搜索模式。
通配符(wildcard) 用来匹配值的一部分特殊字符。
搜索模式(search pattern) 由字母值,通配符两租组合构成的搜索条件。
百分号%通配符
表示任何符合出现任意次数。
检索以Fish 开头的词汇,Fish之后任意词汇,区分大小写。
-> FROM Products
-> WHERE prod_name LIKE '%bean bag%';
+---------+---------------------+
| prod_id | prod_name |
| BNBG01 | Fish bean bag toy |
| BNBG02 | Bird bean bag toy |
| BNBG03 | Rabbit bean bag toy |
+---------+---------------------+
匹配任意位置包含 bean bag的值
mysql> SELECT prod_name
-> FROM Products
-> WHERE prod_name LIKE 'F%y';
+-------------------+
| prod_name |
+-------------------+
| Fish bean bag toy |
1 row in set (0.00 sec)
下划线 _ 通配符
下划线与%不同的是匹配单个字符,而不是多个字符。
一个_匹配一个字符串。
方括号[]通配符
匹配任意带有JM的字符串的列。
+----------------+
| cust_contact |
+----------------+
| Jim Jones |
| John Smith |
| Kim Howard |
| Michelle Green |
+----------------+
4 rows in set (0.00 sec)
通配符技巧
- 其他操作如果能达到相同的效果,就不要用通配符。
- 主要通配符的位置