MySQL学习足迹记录06--数据过滤--LIKE搭配百分号(%)和下划线(_)通配符
2013-07-09 18:37
615 查看
1.LIKE操作符
*%表示匹配任何字符出现任意次数(>=0)
[b] 为了便于观察,先把prod_name字段的所有的数据列出[/b]
eg:
mysql> SELECT prod_name FROM products;
+----------------+
| prod_name |
+----------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
| Detonator |
| Bird seed |
| Carrots |
| Fuses |
| JetPack 1000 |
| JetPack 2000 |
| Oil can |
| Safe |
| Sling |
| TNT (1 stick) |
| TNT (5 sticks) |
+----------------+
14 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE 'jet%'; #检索一任何"jet"开头的数据
+--------------+
| prod_name |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '%anvil%';
#'%anvil%'表示匹配任何位置包含文本anvil的值
+--------------+
| prod_name |
+--------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
+--------------+
3 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE 's%e';
#找出以s开头并一e结尾的所有产品
+-----------+
| prod_name |
+-----------+
| Safe |
+-----------+
1 row in set (0.00 sec)
*下划线(_)通配符
用途与%一样,但下划线只匹配单个字符
eg:
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '_ ton anvil';
+-------------+
| prod_name |
+-------------+
| 1 ton anvil |
| 2 ton anvil |
+-------------+
2 rows in set (0.01 sec)
请对比%操作符的结果:
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '% ton anvil';
+--------------+
| prod_name |
+--------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
+--------------+
3 rows in set (0.00 sec)
*%表示匹配任何字符出现任意次数(>=0)
[b] 为了便于观察,先把prod_name字段的所有的数据列出[/b]
eg:
mysql> SELECT prod_name FROM products;
+----------------+
| prod_name |
+----------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
| Detonator |
| Bird seed |
| Carrots |
| Fuses |
| JetPack 1000 |
| JetPack 2000 |
| Oil can |
| Safe |
| Sling |
| TNT (1 stick) |
| TNT (5 sticks) |
+----------------+
14 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE 'jet%'; #检索一任何"jet"开头的数据
+--------------+
| prod_name |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '%anvil%';
#'%anvil%'表示匹配任何位置包含文本anvil的值
+--------------+
| prod_name |
+--------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
+--------------+
3 rows in set (0.00 sec)
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE 's%e';
#找出以s开头并一e结尾的所有产品
+-----------+
| prod_name |
+-----------+
| Safe |
+-----------+
1 row in set (0.00 sec)
*下划线(_)通配符
用途与%一样,但下划线只匹配单个字符
eg:
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '_ ton anvil';
+-------------+
| prod_name |
+-------------+
| 1 ton anvil |
| 2 ton anvil |
+-------------+
2 rows in set (0.01 sec)
请对比%操作符的结果:
mysql> SELECT prod_name FROM products
-> WHERE prod_name LIKE '% ton anvil';
+--------------+
| prod_name |
+--------------+
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
+--------------+
3 rows in set (0.00 sec)
相关文章推荐
- MySQL学习足迹记录05--数据过滤--AND,OR,NOT,IN
- MySQL学习足迹记录04--数据过滤--WHERE
- MySQL学习足迹记录07--数据过滤--用正则表达式进行检索
- MySql的like语句中的通配符:百分号、下划线和escape
- MySql的like语句中的通配符:百分号、下划线和escape
- MySql的like语句中的通配符:百分号、下划线和escape
- MySql的like语句中的通配符:百分号、下划线和escape 的使用
- MySql的like语句中的通配符:百分号、下划线和escape
- MySQL学习足迹记录10--汇总数据--MAX(),MIN(),AVG(),SUM(),COUNT()
- MySQL学习足迹记录11--分组数据--GROUP BY,HAVING
- MySql的like语句中的通配符:百分号、下划线和escape
- MySql的like语句中的通配符:百分号、下划线和escape
- MySQL--操作简记(where过滤,通配符过滤数据)
- MySQL学习足迹记录01--SOURCE,SHOW
- 学习MySQL的一些记录笔记(2)11-06
- MySQL学习笔记-操作数据表中的记录
- MYSQL学习笔记(五)用通配符进行过滤
- MySQL学习足迹记录14--表别名和自联结
- MySQL学习笔记之六 向数据表插入行记录
- MySQL学习笔记 2:约束、修改数据表和操作数据表中的记录