SQL常用语句--模糊查询REGEXP

REGEXP 是正则表达式(regular expression) 的缩写 . 正则表达式在搜索字符串时非常强大. 它允许我们搜索更复杂的模式。

模糊匹配

1)包含特定字符串

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP 'field'  -- 查找名字中带field的记录

2)我们可以用 '^' 表示字符串的开头,

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '^field' -- 表示我们的姓氏必须以field开头

3)我们还用美元符号 $ 代表字符串末尾,

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP 'field$' -- 表示我们的姓氏必须以field结尾

搜寻多个单词

表示查询以field开头的姓氏或者姓氏中含有mac或者姓氏中含有rose

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '^field|mac|rose'

假设你想搜寻姓氏里有 e 的顾客,

如果你想要确保在e前要有g或者i两者之一, 这时需要用到方括号[],在括号里加上多个字母, 比如g,I,m,对应了任何姓氏里有ge或者ie或者me的顾客.

sql 复制代码
SELECT *
FROM customers
WHERE last_name REGEXP '[gim]e' -- 可以用 '[a-h]e' 表示 '[abcdefg]e'.

总结:

sql 复制代码
^:beginning
$:end
|:logical or
[abcd]:使用 [] 匹配任意在括号里列举的单字符.
a-f:表示 [abcdefg], - 代表一个范围.
相关推荐
VX:Fegn08955 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
chipsense5 小时前
电流传感器型号从数据库查询并排序输出到网页的方法
数据库·php·传感器·霍尔电流传感器
踢足球09295 小时前
寒假打卡:2026-01-28
数据库·oracle
麦聪聊数据5 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
风吹落叶花飘荡5 小时前
2026年mysql数据库迁移(全流程)
数据库·mysql
2301_822382765 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_748229995 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
液态不合群6 小时前
【面试题】MySQL 的索引下推是什么?
数据库·mysql
2301_790300966 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
Code blocks7 小时前
SpringBoot从0-1集成KingBase数据库
数据库