香甜可口草莓蛋糕

香甜可口草莓蛋糕

第 8 章 用通配符进行过滤

8.1 LIKE 操作符

通配符: 用来匹配值的一部分的特殊字符
搜索模式: 由字面值、通配符或两者组合构成的搜索条件
为了在搜索子句中使用通配符,必须使用 LIKE 操作符

8.1.1 百分号(%)通配符

输入: SELECT server_cost.cost_name,server_cost.last_update FROM server_cost WHERE server_cost.cost_name LIKE 'dis%';
输出: 
+----------------------------+---------------------+
| cost_name                  | last_update         |
+----------------------------+---------------------+
| disk_temptable_create_cost | 2024-01-03 15:22:15 |
| disk_temptable_row_cost    | 2024-01-03 15:22:15 |
+----------------------------+---------------------+
分析: 此例子使用了搜索模式 'dis%'。在执行这条子句时,将检索任意以 dis 开头的词。% 告诉 MySQL 接受 dis之后的任意字符且不管数量多少
​
输入: SELECT server_cost.cost_name,server_cost.last_update FROM server_cost WHERE server_cost.cost_name LIKE '%temptable%';
输出: 
+------------------------------+---------------------+
| cost_name                    | last_update         |
+------------------------------+---------------------+
| disk_temptable_create_cost   | 2024-01-03 15:22:15 |
| disk_temptable_row_cost      | 2024-01-03 15:22:15 |
| memory_temptable_create_cost | 2024-01-03 15:22:15 |
| memory_temptable_row_cost    | 2024-01-03 15:22:15 |
+------------------------------+---------------------+
分析: % 可以出现在任何位置

8.1.2 下划线(_)通配符

输入: SELECT help_category.name FROM help_category WHERE help_category.name LIKE 'MB_';
输出: 
+------+
| name |
+------+
| MBR  |
+------+
分析: _ 只匹配一个字符,同样不限制出现位置

8.2 使用通配符的技巧

1. 不要过度使用通配符
2. 在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处,因为慢
3. 仔细注意通配符的位置
06-16 21:49