首页 > 数据库 >MySQL 中模糊匹配

MySQL 中模糊匹配

时间:2024-04-03 17:44:26浏览次数:16  
标签:字符 匹配 like university 模糊 MySQL rlike id

1、like模糊匹配-单项
常用通配符有两个: '%'百分号、'_'下划线。

%: 可以匹配0~多个字符
_: 只能匹配1个字符

select id, device_id, university
from user_profile
where (university like '北京%' or university like '上海%')
and (university like '%学院' or university like '%校区')
and (university like '%职业%' or university like '%专科%' or university like '%成人%')

2、rlike支持模糊匹配-多项
搭配正则表达式,rlike与REGEXP用法相似。

常用通配符:. 、* 、 [] 、 ^ 、 $ 、{n}

  • . : 匹配任意单个字符
    • :匹配0个或多个前一个得到的字符
    • : 匹配前一个字符一次或多次
  • [] : 匹配任意一个[]内的字符,[ab]*可匹配空串、a、b、或者由任意个a和b组成的字符串。
  • ^ : 匹配开头,如^s匹配以s或者S开头的字符串。
  • $ : 匹配结尾,如s$匹配以s结尾的字符串。
  • {n} :匹配前几个字符的n个实例
  • p1|p2 : 匹配p1或p2模式
select id, device_id, university
from user_profile
where university rlike '^(北京|上海).*(职业|专科|成人).*(学院|校区)$'

'^(北京|上海).(职业|专科|成人).(学院|校区)$' --表示以北京/上海开头,中间隔0到多个字符链接职业/专科/成人,隔0到多个字符以学院/校区 结尾。

select id, device_id, university
from user_profile
where university regexp '^(北京|上海).*(职业|专科|成人).*(学院|校区)$'

rlike 'A|B' 等同于 like '%A%' or like '%B%'

rlike 'A(2)|B2' 需改成 rlike 'A\(2\)|B2',即使用'\'双斜线对特殊符号转义, 等同于 like '%A(2)%' or like '%B2%'

说明: "()"括号将作为正则符号识别,需进行转义。

标签:字符,匹配,like,university,模糊,MySQL,rlike,id
From: https://www.cnblogs.com/Linzj5950/p/18113222

相关文章

  • 基于springboot+vue+Mysql的招生管理系统
    开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9系统展示系统首页学生注册专业信息个人中心管理员登录管理员功能界面学生管理专业信息管理专业报名......
  • 06 MySQL数据操作DML---插入insert、删除delete、更新update、查询select
    DML是指数据操作语言,用来对数据库中表的数据记录进行更新插入insert向表中指定字段插入数据insertinto表名(字段名1,字段名2,字段名3,...)values(字段名1值,字段名2值,字段名3值,...)INSERTintomy_student(id,`name`,age)values(2,'Jack',12);字段列表不一定非要......
  • mysql-多表连接的学习
    --4.3--****************************************************************************************1.多表连接1.1为了避免笛卡尔积,可以在where中加入有效的连接条件SELECTtable1.column,table2.columnFROMtable1,table2WHEREtable1.col......
  • mysql --聚合函数的学习
    聚合函数1.常见的聚合函数1.1AVG/SUM:只适用于数值类型的字段(或变量)1.2MAX/MIN:适用于数值类型、字符串类型、时间日期类型的字段(或变量)1.3COUNT1.3.1作用:计算指定字段在查询结构中出现的个数(不包含NULL值的)#如果计算表中有......
  • Python访问mysql与sqlite3数据库
    在Python中,数据库访问是一个常见的需求,无论是在Web开发还是数据分析中都非常重要。Python提供了多种数据库访问库,使得与不同类型的数据库进行交互变得简单。在这篇博客中,我们将介绍如何使用Python进行数据库访问操作,并提供一些代码示例。Python数据库访问概述Python中的数据......
  • mysql多安装空间坐标随笔
    geofuctionST_GeomFromGeoJson(#{geoJson})st_geomfromgeojson(#{fence.trajectory},1,4326)st_geomfromtext(#{fence.trajectory},4326)st_geomfromtext(CONCAT('POINT(',longitude,'',latitude,')'),4326))安装多个MySQL关闭所有已安装的mysql服务......
  • mysql windows离线安装
    D:\mysql-8.2.0-winx64\bin>mysqld--removemysql8.2Servicesuccessfullyremoved.D:\mysql-8.2.0-winx64\bin>mysqld--installmysql8.2Servicesuccessfullyinstalled.D:\mysql-8.2.0-winx64\bin>mysqld--initialize--console2024-03-29T06:05:......
  • 03 Python进阶:MySQL
    mysql-connector安装要在Python中使用MySQL数据库,你需要安装MySQL官方提供的MySQLConnector/Python。下面是安装MySQLConnector/Python的步骤:首先,确保你已经安装了Python,如果没有安装,可以在Python官网(https://www.python.org)下载并安装最新版本的Python......
  • 03 MySQL数据库的基本操作-DDL
    DDL(DataDefinitionLanguage),数据定义语言,该语言部分包括以下内容对数据库的常用操作对表结构的常用操作修改表结构可以在命令行里面进行如下的操作;也可以在Navicat图形化工具中操作创建数据库createdatabase数据库名[库选项]例如:createdatabase数据库......
  • mysql基于二次注入(基于时间)盲注,python脚本
    根据mysql二次注入原理,存储型注入利用,先注册,再登陆、再调用修改密码,完成自动时间盲注类型判断,实现脱裤借用:“孤桜懶契”大佬的脚本#--coding:UTF-8--#Author:孤桜懶契#Date:2021/8/10#blog:gylq.gitee.ioimportrequestsimporttimeflag=""#***************......