趣谈MySQL 多个%等模糊查询

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 趣谈MySQL 多个%等模糊查询

一、建表并插入数据

1、创建一个people表

DROP TABLE IF EXISTS `people`;
CREATE TABLE `people`  (
  `id` int NOT NULL COMMENT '主键',
  `name` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名',
  `sex` tinyint NOT NULL COMMENT '性别',
  `age` int NOT NULL COMMENT '年龄',
  `phone` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '联系方式',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

image.gif

2、向people表添加数据

insert into people values(1,'测试人员',18,1,'13812345678');
insert into people values(2,'测测人员',19,0,'13812345679');
insert into people values(3,'人员测试',20,1,'13812345680');
insert into people values(4,'测试人员1',21,0,'13812345681');
insert into people values(5,'员人试测',22,1,'13812345682');

image.gif

二、查询语句

-- 1、模糊查询(单个条件)
select * from people where name like '%测%';

image.gif

image.gif

-- 2、模糊查询(多个条件)
select * from people where name like '%测%' and name like '%人%';

image.gif

image.gif

select * from people where name like '%测%' or name like '%人%';

image.gif

image.gif

------有趣的查询(网页端前端传参%测试)------

-- 3、模糊查询(顺序执行)
select * from people where name like '%测%人%';

image.gif

image.gif

select * from people where name like '%人%测%';

image.gif

image.gif

-- 4、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句
select * from people where name like '测试人员_';

image.gif

image.gif

select * from people where name like '__人员';

image.gif

image.gif


注:mysql 通配符查询必须用 rlike

-- 5、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
select * from people where name rlike '[试]人员';

image.gif

image.gif

-- 6、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符 ^ 非。
select * from people where name rlike '[^试]人员';

image.gif

image.gif

-- 7、^:以xx开头的记录
select * from people where name rlike '^测';

image.gif

image.gif

-- 8、$:以xx结尾的记录
select * from people where name rlike '员$';

image.gif

image.gif

-- 9、.:任意单个的
select * from people where name rlike '.人员';

image.gif

image.gif

若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 存储 JSON
MySQL模糊查询二三事
### 1、源数据信息 源数据字段:Student表字段Names 存储内容为"111,222,333,444,555,666,777,888" ### 2、查询请求入参 ``` json { "Names": "666,888" } ``` ### 3、具体需求 需要拿到既包含666又包含888,直接模糊查询或者Contains之类的无法满足 ### 4、方法实现 ###### 方法一: // 纯SQL语句 ``` c# var nameSql = string.Empty; for (int i = 0; i < namesList.Count; i++) {
123 0
|
8月前
|
SQL 关系型数据库 MySQL
Python中使用MySQL模糊查询的方法
本文介绍了两种使用Python进行MySQL模糊查询的方法:一是使用`pymysql`库,二是使用`mysql-connector-python`库。通过这两种方法,可以连接MySQL数据库并执行模糊查询。具体步骤包括安装库、配置数据库连接参数、编写SQL查询语句以及处理查询结果。文中详细展示了代码示例,并提供了注意事项,如替换数据库连接信息、正确使用通配符和关闭数据库连接等。确保在实际应用中注意SQL注入风险,使用参数化查询以保障安全性。
|
搜索推荐 关系型数据库 MySQL
MySQL 模糊查询新纪元:超越 LIKE+% 的高效探索
在数据库的日常操作中,模糊查询是一项不可或缺的功能,它允许我们根据不完全匹配的关键字来检索数据。传统上,MySQL 使用 LIKE 关键字配合 % 通配符来实现这一功能,虽然灵活但性能上往往不尽如人意,尤其是在处理大型数据集时。今天,我们将一起探索几种超越 LIKE+% 的模糊查询技术,以提升查询效率与用户体验。
664 2
|
SQL 关系型数据库 MySQL
MySQL模糊查询二三事
在实际应用中,根据需求和实际数据情况,选择合适的模糊查询方法并优化查询模式,是确保查询效率和准确性的关键。复杂的查询模式往往需要详细的测试和调优,以达到最佳的性能与响应时效。
646 4
|
关系型数据库 MySQL
mysql模糊查询指定根据第几个字符来匹配
mysql模糊查询指定根据第几个字符来匹配
291 1
|
关系型数据库 MySQL
9. Mysql 模糊查询和正则表达式
9. Mysql 模糊查询和正则表达式
317 1
|
关系型数据库 MySQL 数据库
Python中使用MySQL模糊查询的方法
(1)同样需要将your_username、your_password、your_database替换为我们的MySQL数据库的实际用户名、密码和数据库名。 (2)在mysql.connector.connect()中,我们没有直接指定字符集和游标类型,因为mysql-connector-python的默认配置通常已经足够好。但是,如果需要,我们可以添加这些配置选项。 (3)使用cursor.close()和cnx.close()来确保游标和连接都被正确关闭。 (4)mysql-connector-python也支持使用上下文管理器(即with语句)来自动管理游标和连接的关闭,但这需要创建一个
136 0
|
SQL 存储 前端开发
MySQL模糊查询 先展示精确查询在展示模糊查询结果 | 结果按匹配度 排序
MySQL模糊查询 先展示精确查询在展示模糊查询结果 | 结果按匹配度 排序
806 0
|
安全 关系型数据库 MySQL
【大数据系列之MySQL】(十三):MySQL模糊查询
【大数据系列之MySQL】(十三):MySQL模糊查询
525 0
|
关系型数据库 MySQL 测试技术
软件测试|MySQL LIKE:深入了解模糊查询
软件测试|MySQL LIKE:深入了解模糊查询

热门文章

最新文章

推荐镜像

更多