mysql通配符查询字段的方法:
首先我们来了解一下2个概念,一个是操作符,一个是通配符。
操作符
like就是sql语句中的操作符,它的作用是指示在sql语句后面的搜索模式是利用通配符而不是直接相等匹配进行比较。
注意:如果使用like操作符时没有使用通配符,那么效果是和等号是一致的。
select id,title from table where title like '张三';
这种写法就只能匹配张三的记录,而不能匹配像张三是个好人这样的记录。
通配符
%
(百分号),_
(下划线)就是通配符,%
表示任何字符出现任意次数(可以是0次),_
表示单个字符,用户如下:
select id,title from table where title like '张三%'; select id,title from table where title like '%张三'; select id,title from table where title like '%张三%';
表示匹配以张三开始的记录,2表示匹配以张三结束的记录,3表示匹配含有张三的记录。
select id,title from table where title like '张三_'; select id,title from table where title like '__张三';
表示匹配像张三好这样的记录,2表示匹配像你好张三这样的记录。
使用注意
-
注意大小写,在使用模糊匹配时,也就是匹配文本时,mysql是可能区分大小的,也可能是不区分大小写的,这个结果是取决于用户对mysql的配置方式。
-
注意尾部空格。
-
注意null,%可以匹配任意字符,但是不能匹配null。
合理使用
-
mysql的通配符很有用,但这种功能是有代价的,通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长,这里给出一些使用通配符要记住的技巧。
-
不要过度使用通配符,如果其他操作符能达到相同的目的,应该 使用其他操作符。
-
在确实需要使用通配符时,除非绝对有必要,否则不要把它们用 在搜索模式的开始处,把通配符置于搜索模式的开始处,搜索起 来是最慢的。
-
仔细注意通配符的位置,如果放错地方,可能不会返回想要的数。