位置: 编程技术 - 正文

老生常谈MYSQL模式匹配 REGEXP和like的用法(mysql 模型)

编辑:rootadmin

推荐整理分享老生常谈MYSQL模式匹配 REGEXP和like的用法(mysql 模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql 模型,mysql模式是什么,mysql 模型,mysql mof,mysql mod,mysql模式,mysql 模型,mysql 模型,内容如对您有帮助,希望把文章链接给更多的朋友!

like

like要求整个数据都要匹配,而REGEXP只需要部分匹配即可。 也就是说,用Like,必须这个字段的所有内容满足条件,而REGEXP只需要有任何一个片段满足即可。

MySQL提供标准的SQL模式匹配(like),以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式(regexp)。SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。

为了找出以“b”开头的名字:

mysql> SELECT * FROM pet WHERE name LIKE "b%";+--------+--------+---------+------+------------+------------+| name | owner | species | sex | birth | death |+--------+--------+---------+------+------------+------------+| Buffy | Harold | dog | f | -- | NULL || Bowser | Diane | dog | m | -- | -- |+--------+--------+---------+------+------------+------------+

为了找出以“fy”结尾的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%fy";+--------+--------+---------+------+------------+-------+| name | owner | species | sex | birth | death |+--------+--------+---------+------+------------+-------+| Fluffy | Harold | cat | f | -- | NULL || Buffy | Harold | dog | f | -- | NULL |+--------+--------+---------+------+------------+-------+

为了找出包含一个“w”的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%w%";+----------+-------+---------+------+------------+------------+| name | owner | species | sex | birth | death |+----------+-------+---------+------+------------+------------+| Claws | Gwen | cat | m | -- | NULL || Bowser | Diane | dog | m | -- | -- || Whistler | Gwen | bird | NULL | -- | NULL |+----------+-------+---------+------+------------+------------+

为了找出包含正好5个字符的名字,使用“_”模式字符:

mysql> SELECT * FROM pet WHERE name LIKE "_____";+-------+--------+---------+------+------------+-------+| name | owner | species | sex | birth | death |+-------+--------+---------+------+------------+-------+| Claws | Gwen | cat | m | -- | NULL || Buffy | Harold | dog | f | -- | NULL |+-------+--------+---------+------+------------+-------+

REGEXP

另外一种匹配是基于正则表达式的。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。

“.”匹配任何单个的字符。

一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。

老生常谈MYSQL模式匹配 REGEXP和like的用法(mysql 模型)

正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。

如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";+--------+--------+---------+------+------------+------------+| name | owner | species | sex | birth | death |+--------+--------+---------+------+------------+------------+| Buffy | Harold | dog | f | -- | NULL || Bowser | Diane | dog | m | -- | -- |+--------+--------+---------+------+------------+------------+

为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";+--------+--------+---------+------+------------+-------+| name | owner | species | sex | birth | death |+--------+--------+---------+------+------------+-------+| Fluffy | Harold | cat | f | -- | NULL || Buffy | Harold | dog | f | -- | NULL |+--------+--------+---------+------+------------+-------+

为了找出包含一个“w”的名字,使用“[wW]”匹配小写或大写的“w”:

mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";+----------+-------+---------+------+------------+------------+| name | owner | species | sex | birth | death |+----------+-------+---------+------+------------+------------+| Claws | Gwen | cat | m | -- | NULL || Bowser | Diane | dog | m | -- | -- || Whistler | Gwen | bird | NULL | -- | NULL |+----------+-------+---------+------+------------+------------+

[^……],匹配不包含在[]的字符,如查询出除了w/z/s开头之外的人名

*,重复0次或多次,熟悉javascript正则的同学都知道

'str*'可以匹配st/str/strr/strrr……

&#;,重复0次或1次

'str&#;'可以匹配st/str

+,重复1次或多次

'str+'可以匹配str/strr/strrr/strrrr……

相比javascript里面的正则而言,这里的正则是简化版的,没有惰性匹配/贪婪匹配,[]内不支持wsd这种语法,也不支持中文,相对简单。

以上这篇老生常谈MYSQL模式匹配 REGEXP和like的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

mysql索引使用技巧及注意事项 一.索引的作用一般的应用系统,读写比例在:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些

MySQL 按指定字段自定义列表排序的实现 问题描述大家都知道,MySQL中按某字段升序排列的SQL为(以id为例,下同):SELECT*FROM`MyTable`WHERE`id`IN(1,7,3,5)ORDERBY`id`ASC降序排列的SQL为:SELECT*FROM`MyTable`WHERE`

mysql 列转行的技巧(分享) 前言:由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。这种模

标签: mysql 模型

本文链接地址:https://www.jiuchutong.com/biancheng/349893.html 转载请保留说明!

上一篇:MySQL5绿色版windows下安装总结(推荐)(mysql绿色版安装配置教程)

下一篇:mysql索引使用技巧及注意事项(mysql索引用法)

  • 土地原值要计入房产税计税@基数吗
  • 收到银行存兑汇票
  • 事业单位无形资产摊销年限
  • 垫付运费的运费税怎么做分录
  • 基本户和一般户的用途
  • 专利奖励金额
  • 2019年一季度季报怎样填写
  • 科技公司增值税率是多少
  • 无偿赠送他人货物交增值税吗
  • 债券投资的风险主要有
  • 超过保质期存储时间或变质的食品应该怎样处理
  • 公司支付宝账户怎么登录
  • 营改增后房地产企业增值税税率
  • 河道费怎么计算
  • 房地产行业零税率发票
  • 果蔬免征增值税有哪些
  • 残疾人可以给公司带来税收优惠吗
  • 财务报表季度申报资产负债表怎么填
  • 分红未及时扣缴税款要缴滞纳金吗?
  • 收回应收账款资产为什么不变
  • 现金流量表的余额和资产负债表货币资金是不是一定相等
  • 工程发票预交税金规定
  • 购入土地建厂房要交的税
  • 收到其他公司退款
  • 劳务费没发票怎样下账
  • 员工报销差旅费并归还借款会计分录
  • Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
  • win10正版免费下载
  • 深入php:面向对象、模式与实践
  • 税前扣除是好事吗
  • 企业投资入股的几种方式
  • vue3+vite在main.ts或者main.js文件中引入/App.vue报错(/App.vue不是模块)
  • 存放同业款项和拆出资金在资产负债表中
  • 烟草企业亏损
  • 海关交税标准表
  • php输出数字
  • 玻璃深加工企业排名
  • 法人跟纳税人必须是一个人吗
  • web自动化测试平台
  • php考试时间倒计时
  • 金税盘可以全额抵税吗
  • 私对公开发票需要什么
  • 企业向合伙企业转让股权
  • 个体户需要
  • 如果删除申报记录会怎么样
  • 燃气费计入什么科目
  • 金蝶kis专业版仓存期末结账
  • 金税盘税务申报流程
  • 借款费用为什么可以企业所得税税前扣除
  • 货物出口销售确认流程
  • 总结哪些纳税人可以采用简易计税方法
  • 投资房地产的后续计量有哪几种模式
  • 政府发的奖金需要交个税吗
  • 股东出资做什么科目
  • 退回货款给客户怎么做会计分录
  • 自查时发现以前的事情
  • 工程分包总包产生的 税费由谁承担
  • 分公司人数要求
  • 固定资产折旧完了怎么做账
  • 应收账款是什么意思
  • win7自带播放器怎么打开
  • info.exe病毒
  • windows10推送
  • win10安装 升级
  • 13寸的macbook
  • xp电脑繁体系统改简体
  • win8怎么隐藏桌面图标
  • linux操作系统怎么装
  • unity 手册
  • android项目总结
  • 新浪微博随时随地
  • python用装饰器自动注册Tornado路由详解
  • node搭建项目
  • 什么是javascrip
  • 国企9000扣完五险一金
  • 提租补贴什么标准发放
  • 深圳车牌注销需要车辆到场吗
  • 河北公示信息网
  • 精神残疾人员是残疾人吗
  • 监理费合同按什么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设