第二章,8-REGEXP运算符(the regexp operator)--Mosh mySQL

文章介绍了SQL查询中使用正则表达式REGEXP进行字段筛选的应用,如匹配特定字符串开头、结尾、包含多个模式,以及LIKE操作符的等价用法。
摘要由CSDN通过智能技术生成

^   beginning

$  end

|  logical or

[abcd]

[a-f]

1,REGEXP是regular expression 正则表达式的缩写

where last_name like '%field%'等于where last_name regexp'field'

结果都是

2,

  • where last_name regexp'^field':field开头的lastname
  • where last_name regexp'field$':field结尾的lastname
  • where last_name regexp'field|mac':含有field或者Mac的lastname
  • where last_name regexp'field|mac|rose':含有field或者Mac或者rose的lastname

  • where last_name regexp'^field|mac|rose':以field开头,或者包含Mac或者包含rose这三种情况的lastname,因为field开头的人没有,所以只存在2个人符合条件

  • where last_name regexp'field$|mac|rose':这时候就有三个符合条件的了

3,

  • select *
    from customers
    where last_name regexp'[gim]e':lastname中含有e,且g or i or m在前面
  • where last_name regexp'e[gim]':lastname中含有e,且g or i or m在后面
  • where last_name regexp'[a-h]e':lastname中含有e,且a-h的任何字母在前面

4,从customers的表中做四个练习

select *
from customers
where first_name regexp'elka|ambur'

PS:

where first_name like'elka' or
      first_name like'ambur'这个也行的

where first_name regexp'elka' or
      first_name regexp'ambur'这个也行的

2.

select *
from customers
where last_name regexp 'EY$' OR  last_name regexp 'ON$'

(最后一句简化成:where last_name regexp'EY$|ON$'

3.

select *
from customers
where last_name regexp'^mY'OR last_name regexp'se'

(最后一句简化成:where last_name regexp'^my|se'

4.

select *
from customers
where last_name regexp'b[ru]'

最后一句也可以写成:where last_name regexp'br|bu'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值