MYSQL中LIKE(模糊查询)

news2025/2/26 22:48:30

0 写在前面

通常我们在搜索的时候总是不会特别精准,例如在百度上搜索,主要搜索关键字,然后加载页面之后再挑选。

所以,在数据库中,有时候会将查询条件不一定直接使用uuid这样的标准查询。实际业务中可能存在模糊查询的业务。所以,我们可以使用LIKE关键字模糊查询符合要求的结果集,模糊查询在实际业务中主要用于搜索关键字查询需要的信息。

1 代码格式

这个有四种格式,以[NOT] WHERE 字段 LIKE '?'为模板,问号里面有百分号,%代表任意内容。

格式一:[NOT] where 字段 LIKE '%' :表示指代任意内容;

格式二:[NOT] where 字段 LIKE '%值1%' :包含值1,且值1前后都有内容;

格式三:[NOT] where 字段 LIKE '%值1' :表示以值1结尾的表达式;

格式四:[NOT] where 字段 LIKE '值1%' :表示以值1开头,且值1前面没内容,后面有内容。

2 SQL数据准备

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for personnel
-- ----------------------------
DROP TABLE IF EXISTS `personnel`;
CREATE TABLE `personnel`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of personnel
-- ----------------------------
INSERT INTO `personnel` VALUES (1, '刘成龙');
INSERT INTO `personnel` VALUES (2, '李虹朋');
INSERT INTO `personnel` VALUES (3, '王俊博');
INSERT INTO `personnel` VALUES (4, '王荣');
INSERT INTO `personnel` VALUES (5, '张艺月');
INSERT INTO `personnel` VALUES (6, '张腾宇');
INSERT INTO `personnel` VALUES (7, '柳彤');
INSERT INTO `personnel` VALUES (8, '李淑敏');
INSERT INTO `personnel` VALUES (9, '王海峰');
INSERT INTO `personnel` VALUES (10, '王搏');
INSERT INTO `personnel` VALUES (11, '于海峰');
INSERT INTO `personnel` VALUES (12, '姚杰');
INSERT INTO `personnel` VALUES (13, '于丽静');
INSERT INTO `personnel` VALUES (14, '杨信');
INSERT INTO `personnel` VALUES (15, '主兆瑞');
INSERT INTO `personnel` VALUES (16, '贺子注');
INSERT INTO `personnel` VALUES (17, '廖丽花');
INSERT INTO `personnel` VALUES (18, '韩菲');
INSERT INTO `personnel` VALUES (19, '郭文');
INSERT INTO `personnel` VALUES (20, '鞠传玲');

SET FOREIGN_KEY_CHECKS = 1;

在这里插入图片描述

3 举例

3.1格式一:[NOT] where 字段 LIKE '%' :表示指代任意内容;

sql:

SELECT
	* 
FROM
	personnel 
WHERE
	NAME LIKE '%';

在这里插入图片描述

3.2 格式四:[NOT] where 字段 LIKE ‘值1%’ `:

表示以值1开头,且值1前面没内容,后面有内容。

例如查询所有“王姓”同学:

sql:

SELECT
	* 
FROM
	personnel 
WHERE
	NAME LIKE '王%';

在这里插入图片描述

剩下的两种格式,大家可以自行准备sql尝试。

4 写在末尾

注意的是实际业务中如非必要尽量避免使用模糊查询,如果必须要用,尽量选择最左匹配原则,因为这样可以使用到索引。

否则一旦数据量很大,没有用到索引的模糊查询性能可能会很差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux笔记(4):东山哪吒开发板(D1-H)测试gpio点亮LED

文章目录1.控制gpio电平高低的流程1.1 选PB2控制LED,对应的编号是GPIO341.2 进入目录 /sys/class/gpio1.3 生成gpio34目录1.4 进入gpio34目录1.5 设置IO方向为输出1.6 控制gpio34(PB2)电平高低附录:linux的GPIO编号和D1-H的IO对用关系参考文档&#xff1…

【vue】Jeecg框架使用过程中的注意事项:

文章目录1.连接后台地址:2.获取接口数据时:3.模糊查询:4.设置默认查询参数:5.数据字典:6.j-date显示时分秒:7.设置添加、编辑、删除、导入等按钮的显示与隐藏(按钮权限)8.设置列的显…

艾美捷NCTC-135培养基改良版(粉末)相关研究和类别

细胞培养基是生物制药生产的最关键原材料之一,是人工模拟细胞在休内生长的营养环境,提供细胞营养和促进细胞生长增殖的物质基础。培养基主要也括有血清培养基、无血清细胞培养基、化学限定培养基。 无血清细胞培养基的发明是培养基发展史的一个里程碑。无…

如何一键生成活动邀请函的分享链接?

想设计一个活动邀请函但不会编程怎么办?想制作个能播放视频的邀请函要怎么做?今天小编就教你如何使用在线工具乔拓云去制作一个活动邀请函,不仅不用编程而且还有模板能一键套用,下面小编就教你如何使用这个在线工具去制作一个活动…

MongoDB学习二:基本常用命令--增删改查

基本常用命令 查看当前正在使用的数据库命令 db 另外: 数据库名可以是满足以下条件的任意UTF-8字符串。 不能是空字符串(“”)。 不得含有’ (空格)、.、$、/、\和\0 (空字符)。 应全部小写。 最多64字节。 有一些数据库名是保留的&#xff…

C语言无法实现的泛型编程,C++是如何实现的?模板

1.泛型编程 如何实现一个通用的交换函数? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left, c…

rt-thread 之------fal移植

rt-thread 之 fal移植 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录rt-thread 之 fal移植前言一、fal是什么?二、移植1.片内flash fal移植step1:使能RT-Thread Components--->中的fal选…

MySQL查询优化实例

| 导语 通过几个小实例,对实际会经常用到的查询进行对比,通过MySQL的执行计划分析语句的执行性能,最后分析几个在实际中会遇到的小问题。 我们知道一般应用系统的读写比列在10:1左右,而且插入操作和一般的更新操作很少出现性能问…

jenkins的安装与配置(超详细)

Jenkins官网:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/Jenkins官网文档:https://www.jenkins.io/zh/doc/jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/清华镜像:http://updates.jenkins…

SpringMVC学习篇(六)

SpringMVC之全局异常的处理 1 注解方式 1.1 准备工作 1.1.1 导入springmvc依赖和lombok依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.22</ve…

Nginx实现四层代理与七层代理

目录 一、实验环境准备 1、准备三台服务器 2、安装nginx环境 3、启动nginx环境 二、设置Nginx七层代理 1、proxy代理服务器配置&#xff08;轮询&#xff09; 2、设置加权轮询 3、健康检测功能 4、解决重复登录问题&#xff08;源地址哈希ip_hash&#xff09; 三、设…

StarRocks从入门到精通系列五:导入数据

StarRocks从入门到精通系列五:导入数据 一、导入总览二、从 Apache Kafka 持续导入三、使用 Apache Spark™ 批量导入四、从 Apache Flink持续导入一、导入总览 下图详细展示了在各种数据源场景下,应该选择哪一种导入方式。 数据导入是指将原始数据按照业务需求进行清洗、…

Springboot常用参数注解

访问路径为http://localhost:8080/ PathVariable GetMapping("/get/{id}/blank/{name}")public Map getValue(PathVariable("id") Integer id,PathVariable("name") String name,PathVariable Map<String,String> kv){Map map new Hash…

在Jeston NX上部署运行PaddleOCR教程(安装whl包方法)

文章目录基本概念介绍1.确定盒子环境pythonCUDAcuDNNTensorRT版本1.1 我还没有安装环境&#xff1a;一步到位整体安装1.2 我已经安装了环境&#xff1a;查询盒子环境版本1.3 默认python版本设置2.安装PaddlePaddle3. 安装PaddleOCR4. 运行例程5. 后续工作附&#xff1a;参考教程…

Java---Arrays类的常用方法

目录 1&#xff1a;Arrays常用的API方法 2&#xff1a;API方法具体举例 &#xff08;1&#xff09;toString方法 &#xff08;2&#xff09;sort方法 &#xff08;3&#xff09;binarySearch方法 &#xff08;4&#xff09;fill方法 &#xff08;5&#xff09;copyOf方法 …

如何在自己的项目中实现脚手架的命令行交互

背景 所在的公司大多数项目都是用Taro脚手架搭建的&#xff0c;因为业务上要实现多端开发 答应我&#xff0c;如果可以千万不要选择跨端开发&#x1f64f;。所以不同环境下运行、打包会有多个命令。如下图所示&#xff1a; 嗯&#xff1f;&#xff1f;好熟悉感觉在哪见过&…

LeetCode刷题(python版)——Topic69. x 的平方根

一、题设 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1…

2022年下半年网络规划设计师下午真题及答案解析

1.若系统正在将( )文件修改的结果写回磁盘时系统发生掉电&#xff0c;则对系统的影响相对较大。A.目录 B.空闲块 C.用户程序 D.用户数据 2.采用三级模式结构的数据库系统中&#xff0c;如果对一个表创建聚簇索引&#xff0c;那么改变的是数据库的( )。 A.外模式…

信号(1.信号概念 2.信号的处理方式 3.信号阶段 用户态,内核态)

目录1.临界资源2.临界值3.原子性4.互斥5.什么是信号量6.什么是信号1.信号概念2.信号的处理方式3.信号阶段1.信号使用前&#xff0c;信号的产生2.为什么进程会崩溃3.信号产生中4.信号产生后1.临界资源 被多个进程能够看到看到额资源叫做临界资源 如果没有堆临界资源进任何的保护…

技术分享 | AlertManager 源码解析

作者&#xff1a;石蓓蓓 爱可生研发工程师&#xff0c;主要负责爱可生产品云DMP树产品的研发工作。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 AlertManager 是处理对应用程序的告警的…