MySQL中Like与REGEXP的区别

数据库内容
在这里插入图片描述
Like语句

select * from test1 where psd LIKE '123456'
查询到 2,3,5
Like匹配当前文本

REGEXP语句

SELECT * from test1 where psd REGEXP '123456'
全部查询到
REGEXP更为灵活
'1000|2000' 表示或的意思
'[123]tom' 表示1 or 2 or 3 +tom
‘.’ 表示匹配任意字符
SELECT * from test1 where psd REGEXP '[[:alnum:]]'    匹配任意字母或数字
SELECT * from test1 where psd REGEXP '[[:alpha:]]'    匹配【a-zA-Z】
SELECT * from test1 where psd REGEXP '[[:blank:]]'    空格和制表
SELECT * from test1 where psd REGEXP '[[:digit:]]'    任意数字
SELECT * from test1 where psd REGEXP '[[:print:]]'    任意可打印字符
SELECT * from test1 where psd REGEXP '[[:graph:]]'    任意可打印字符不包括空格
SELECT * from test1 where psd REGEXP '[[:upper:]]'    任意大写字符
  
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQLLIKEREGEXP都是用于模式匹配的操作符,但它们有以下区别: 1. LIKE是基于通配符的模式匹配,而REGEXP是基于正则表达式的模式匹配。 2. LIKE只支持通配符%和_,而REGEXP支持更多的正则表达式语法。 3. LIKEREGEXP更快,因为它不需要解析正则表达式。 4. LIKE适用于简单的模式匹配,而REGEXP适用于更复杂的模式匹配。 5. LIKE不区分大小写,而REGEXP默认区分大小写,但可以使用选项来忽略大小写。 总之,LIKEREGEXP都有各自的优缺点,应根据具体情况选择使用哪种操作符。 ### 回答2: MySQL是一种流行的关系型数据库管理系统,它支持多种查询语言和表达式。在MySQLlikeregexp是两种常用的模式匹配工具。它们的主要区别如下: 1. 匹配的精度不同 Like可以支持基于通配符的简单模式匹配,而regexp可以支持更复杂的正则表达式,因此regexplike的匹配精度更高。 2. 匹配的效率不同 Like的性能相对比较高,因为它只支持简单的模式匹配,而regexp的性能相对较低,因为它支持更复杂的正则表达式。 3. 匹配的功能不同 Like只能支持基于通配符的模式匹配,它支持的通配符有%和_。但regexp可以支持更多的模式匹配,如字符集、重复、位置、子表达式等。 4. 匹配的语法不同 Like的语法比较简单,可以直接用通配符匹配,而regexp需要使用正则表达式进行匹配,需要掌握基本的正则表达式语法。 总结: 在实际应用,如果只需要进行简单的模式匹配,而且对性能要求较高,那么like是比较好的选择。但如果需要进行复杂的模式匹配,而且对性能要求相对较低,那么就需要使用regexp进行匹配。在实际工作,合理选择适合的匹配工具,可以提高查询效率和结果精度。 ### 回答3: MySQL是一种流行的关系型数据库管理系统,支持多种查询语句,其包括likeregexp。两者都是用于搜索文本匹配的功能,但实际上有很大的区别。 第一,like是一种通配符搜索方式,可用于指定字符串模式。你可以使用like来筛选包含特定字符或字符串模式的行,但是这种方式有一定的限制,例如,必须使用%作为任意字符的替代符号。例如,使用'LIKE'%ing'来查找以“ing”结尾的字符串。 与此相反,regexp使用正则表达式来匹配字符串,提供了更多的精细控制。正则表达式是一种模式匹配工具,它使你能够指定更复杂的搜索模式。可以使用正则表达式来匹配字符串的特定模式、字符或文本序列,也可以使用它来搜索某些标记或其他特定规则。 第二,likeregexp更容易理解和编写,而且对于简单的匹配操作,也非常高效。相比之下,regexp可能更加复杂,需要一些初步的学习和理解,但是它提供了更多的控制和灵活性,可以用于处理相当复杂的搜索模式。 总体来说,like是常用的字符串搜索工具,可以轻松处理大多数字符串匹配需求。而regexp则是一种更强大的搜索工具,可以用于匹配更复杂的模式,并提供了更高的精细度和灵活性。当需要进行更复杂的字符串匹配时,regexp是更好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值