mysql过滤数据(三)用通配符进行过滤
2013-10-12 18:02
309 查看
表test
通配符-----用来匹配值的一部分的特殊字符。通配符本身实际是SQL的WHERE子句中有特殊含义的的字符。SQL支持几种通配符:"%"和“_”。
搜索模式------由字面值,通配符或者两者组合构成搜索条件。
为了在搜索子句中使用通配符,必须使用LIKE操作符。LIKE指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
百分号(%)通配符
在搜索串中,%表示任何字符出现任何次数(包括0次,1次和多次)。
例如:SELECT * FROM test WHERE name LIKE 'john%';
此查询语句匹配name列值以john开头的所有列。
通配符可以出现在搜索模式的任意位置,而且可以出现多次。
例如:SELECT * FROM test WHERE name LIKE "%john%";
此语句匹配name列值任何位置包含john的行。
注:%不能匹配NULL。
下划线(_)通配符
下划线只能匹配单个字符而不能匹配多个字符。
例如:SELECT * FROM test WHERE name LIKE "_john";
此语句匹配name列值为以john结尾且john前只有一个字符的所有行。
使用通配符技巧
通配符搜索的处理一般要比其他搜索所花时间更长。
1.不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
2.在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。通配符放在开始处是最慢的。
3.通配符要放对位置,否则可能会返回不是想要的数据。
Field | Type | Null | Key | Default | Extra |
id | int(11) | NO | PRI | NULL | auto_increment |
name | char(50) | NO | NULL | ||
city | char(50) | YES | NULL | ||
school | char(50) | YES | NULL |
通配符-----用来匹配值的一部分的特殊字符。通配符本身实际是SQL的WHERE子句中有特殊含义的的字符。SQL支持几种通配符:"%"和“_”。
搜索模式------由字面值,通配符或者两者组合构成搜索条件。
为了在搜索子句中使用通配符,必须使用LIKE操作符。LIKE指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
百分号(%)通配符
在搜索串中,%表示任何字符出现任何次数(包括0次,1次和多次)。
例如:SELECT * FROM test WHERE name LIKE 'john%';
此查询语句匹配name列值以john开头的所有列。
通配符可以出现在搜索模式的任意位置,而且可以出现多次。
例如:SELECT * FROM test WHERE name LIKE "%john%";
此语句匹配name列值任何位置包含john的行。
注:%不能匹配NULL。
下划线(_)通配符
下划线只能匹配单个字符而不能匹配多个字符。
例如:SELECT * FROM test WHERE name LIKE "_john";
此语句匹配name列值为以john结尾且john前只有一个字符的所有行。
使用通配符技巧
通配符搜索的处理一般要比其他搜索所花时间更长。
1.不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
2.在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。通配符放在开始处是最慢的。
3.通配符要放对位置,否则可能会返回不是想要的数据。
相关文章推荐
- MySQL学习足迹记录07--数据过滤--用正则表达式进行检索
- MySQL学习足迹记录06--数据过滤--LIKE搭配百分号(%)和下划线(_)通配符
- MySQL--操作简记(where过滤,通配符过滤数据)
- [MYSQL-8]用通配符进行过滤
- Mysql必知必会(笔记)【高级数据过滤、通配符进行过滤】
- MYSQL学习笔记(五)用通配符进行过滤
- 0508 | MySQL | 第 8 章 用通配符进行过滤
- MySQL数据过滤和通配符过滤.md
- MySQL用通配符进行过滤
- MySQL通配符过滤数据
- mysql 数据存储目录进行迁移
- MySQL对数据表进行分组查询
- 22.按筛选参数对session粒度聚合数据进行过滤
- mysql if对数据进行处理 having对数据进行查询 thinkphp中的exp支持更复杂的where查询
- MYSQL使用正则表达式过滤数据
- MySQL入门-5:数据过滤
- mysql 使用binlog进行数据还原
- mysql过滤数据
- Mysql| 组合where子句过滤数据(AND,OR,IN,NOT)