您的位置:首页 > 数据库 > MySQL

mysql过滤数据(三)用通配符进行过滤

2013-10-12 18:02 309 查看
表test

FieldTypeNullKeyDefaultExtra
idint(11)NOPRINULLauto_increment
namechar(50)NO NULL 
citychar(50)YES NULL 
schoolchar(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.通配符要放对位置,否则可能会返回不是想要的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息