mysql通配符

前面介绍的运算符都是用来过滤已知条件的,但是我们在查询时并不总是知道过滤条件的确切值,所以需要使用模糊查询。

1.LIKE运算符

我们先来了解三个基本概念。

(1)通配符:用于匹配值的一部分的特殊字符。

(2)搜索模式:由文字值、通配符或两者的组合组成的搜索条件。

(3)谓语:从技术上讲,LIKE是谓语而不是运算符。虽然最后的结果是一样的,但是你要对这个术语有所了解,避免在SQL文档中遇到的时候不知道。

2.百分号(%)通配符

%表示任何字符出现的次数。

例如,您需要查询customer_name中以def开头的数据。

select * from customers,其中customer_name类似于“def %”;

只要customer_name的值以def开头,无论后面跟多少个字符,它都会出现在查询结果中。

根据MySQL的配置方法,搜索可以区分大小写。如果区分大小写,则不会查询以“Def”开头的数据,默认配置不区分大小写。

通配符可以放在搜索模式中的任何位置:开头、中间和结尾。

应该注意的是,通配符似乎可以匹配任何东西,只有一个例外,即NULL。即使像“%”也不能获得空值。

3.下划线通配符

_只能匹配单个字符,不能匹配多个字符。

例如:

select * from customers where customer _ name like \’ _ def % \’;

不能匹配0个字符或多个字符,只能匹配一个字符。

4.使用通配符的技巧

(1)不要过度使用通配符。如果其他运算符可以达到相同的目的,则应该使用它们。

(2)当您确实需要使用其他通配符时,除非绝对必要,否则不要在搜索模式的开头使用它们。把通配符放在搜索模式的开头,搜索最慢。

(3)注意通配符的放置,如果放错了位置,可能得不到想要的结果。

MySQL学习系列4-数据过滤和过滤数据

MySQL学习系列之三——无限制查询

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论