文章目录

  • 0 写在前面
  • 1 代码格式
  • 2 SQL数据准备
  • 3 举例
    • 3.1格式一:`[NOT] where 字段 LIKE '%' `:表示指代任意内容;
    • 3.2 格式四:[NOT] where 字段 LIKE '值1%' `:
  • 4 写在末尾

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*
FROMpersonnel
WHERENAME LIKE '%';

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

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

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

sql:

SELECT*
FROMpersonnel
WHERENAME LIKE '王%';

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

4 写在末尾

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

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

MYSQL中LIKE(模糊查询)相关推荐

  1. mysql中的模糊查询(非原创)

    Mysql 使用通配符进行模糊查询(like,%,_) 通配符的分类 1)%百分号通配符: 表示任何字符出现任意次数 (可以是0次). 2)_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一 ...

  2. mysql中like % %模糊查询

    1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] WHERE u_name LIKE '% ...

  3. mysql 电话模糊查询_mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  4. mysql 通配符转转义_MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  5. 在mysql中通配符_mysql查询中通配符的使用

    mysql查询中通配符的使用 在mysql查询中经常会使用通配符,并且mysql的通配符和pgsql的存在区别(稍候再讨论),而且mysql中还可以使用正则表达式. SQL模式匹配: "_& ...

  6. MySQL基础_模糊查询—between and in is null <=>(安全等于)等关建字

    文章目录 MySQL基础_模糊查询-in关键字 MySQL基础_模糊查询-is null关键字 MySQL基础_[补充]安全等于的介绍 eg: select * from table where 字段 ...

  7. MySQL中的各种查询

    文章目录 MySQL中的各种查询 基础查询 条件查询 排序查询 常见函数查询 分组查询 连接查询 内连接 外连接 交叉连接 子查询 联合查询 MySQL中的各种查询 基础查询 条件查询 #语法:sel ...

  8. mysql 用户通配符_浅谈mysql通配符进行模糊查询的实现方法

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

  9. MySQL多重条件模糊查询_简单实现mysql多字段模糊查询

    在后台的项目中,会经常遇到,就是信息的查找,这里就举个简单的例子,如搜索某一个产品的信息,在一个表里面有多个字段,而搜索的内容可能是其中的某个字段,这样只有多字段查询才能实现. MySQL多字段模糊查 ...

  10. Mybatis中的模糊查询

     今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经 ...

最新文章

  1. CTO在企业技术创新中的作用和地位
  2. android 判断手机为小米
  3. 老人寻求到一名程序员,用2W行代码给自己打造了一幅肖像画
  4. (acm)C++加速输入的几种方法
  5. 在SSH里用$.ajax()函数为何失败的一系列问题
  6. ac ap原理、_AP面板是什么?家庭AC+AP的组网方式,真的适合所有人吗?
  7. Python(2.7)-元组(tuple)
  8. tf.sub/tf.mul/tf.neg等api废弃
  9. steam怎么设公用计算机,steam怎么设置家庭共享 steam家庭共享设置方法
  10. 国内外著名PT网站大全
  11. 如何快速分解CAD图纸中多个合并的CAD图形?
  12. freyja 功能基本完毕
  13. Swift游戏实战-跑酷熊猫 02 创建熊猫类
  14. Defect Detection论文合集、代码和数据集
  15. 荒野乱斗好友系统分析
  16. 201809-3-元素选择器
  17. 阿里妈妈智能诊断工程能力建设
  18. @GetMapping注解的理解
  19. CSTC2021 WriteUp
  20. Linux删除文件之后磁盘空间没有被释放

热门文章

  1. 手把手教你使用NVIDIA Isaac Sim进行机器人仿真①
  2. CSS实现渐变圆角边框
  3. 【数据结构与算法】程序内功篇四--栈
  4. java 配置微信js sdk_Java微信公众平台开发(十一)--微信JSSDK中Config配置
  5. 博狗教你写棋牌类游戏
  6. 高级UI-沉浸式设计
  7. 因为一个Bug,差点损失了100w
  8. C语言-对“hard code”的思考
  9. 同底数幂比较大小方法_初一下学期,巧用幂的有关法则比较大小,这些题目不再是难题...
  10. Windows系统日志分析