前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >趣谈MySQL 多个%等模糊查询

趣谈MySQL 多个%等模糊查询

作者头像
GoodTime
发布2024-03-05 16:15:17
1590
发布2024-03-05 16:15:17
举报
一、建表并插入数据

1、创建一个people表

代码语言:javascript
复制
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;

2、向people表添加数据

代码语言:javascript
复制
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');
二、查询语句
代码语言:javascript
复制
-- 1、模糊查询(单个条件)
select * from people where name like '%测%';
代码语言:javascript
复制
-- 2、模糊查询(多个条件)
select * from people where name like '%测%' and name like '%人%';
代码语言:javascript
复制
select * from people where name like '%测%' or name like '%人%';

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

代码语言:javascript
复制
-- 3、模糊查询(顺序执行)
select * from people where name like '%测%人%';
代码语言:javascript
复制
select * from people where name like '%人%测%';
代码语言:javascript
复制
-- 4、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句
select * from people where name like '测试人员_';
代码语言:javascript
复制
select * from people where name like '__人员';

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

代码语言:javascript
复制
-- 5、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
select * from people where name rlike '[试]人员';
代码语言:javascript
复制
-- 6、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符 ^ 非。
select * from people where name rlike '[^试]人员';
代码语言:javascript
复制
-- 7、^:以xx开头的记录
select * from people where name rlike '^测';
代码语言:javascript
复制
-- 8、$:以xx结尾的记录
select * from people where name rlike '员$';
代码语言:javascript
复制
-- 9、.:任意单个的
select * from people where name rlike '.人员';
若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、建表并插入数据
  • 二、查询语句
  • 若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。 
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档