MYSQL中LIKE(模糊查询)
文章目录
- 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(模糊查询)相关推荐
- mysql中的模糊查询(非原创)
Mysql 使用通配符进行模糊查询(like,%,_) 通配符的分类 1)%百分号通配符: 表示任何字符出现任意次数 (可以是0次). 2)_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一 ...
- mysql中like % %模糊查询
1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] WHERE u_name LIKE '% ...
- mysql 电话模糊查询_mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- mysql 通配符转转义_MySQL中的模糊查询和通配符转义
MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...
- 在mysql中通配符_mysql查询中通配符的使用
mysql查询中通配符的使用 在mysql查询中经常会使用通配符,并且mysql的通配符和pgsql的存在区别(稍候再讨论),而且mysql中还可以使用正则表达式. SQL模式匹配: "_& ...
- MySQL基础_模糊查询—between and in is null <=>(安全等于)等关建字
文章目录 MySQL基础_模糊查询-in关键字 MySQL基础_模糊查询-is null关键字 MySQL基础_[补充]安全等于的介绍 eg: select * from table where 字段 ...
- MySQL中的各种查询
文章目录 MySQL中的各种查询 基础查询 条件查询 排序查询 常见函数查询 分组查询 连接查询 内连接 外连接 交叉连接 子查询 联合查询 MySQL中的各种查询 基础查询 条件查询 #语法:sel ...
- mysql 用户通配符_浅谈mysql通配符进行模糊查询的实现方法
在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...
- MySQL多重条件模糊查询_简单实现mysql多字段模糊查询
在后台的项目中,会经常遇到,就是信息的查找,这里就举个简单的例子,如搜索某一个产品的信息,在一个表里面有多个字段,而搜索的内容可能是其中的某个字段,这样只有多字段查询才能实现. MySQL多字段模糊查 ...
- Mybatis中的模糊查询
今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经 ...
最新文章
- CTO在企业技术创新中的作用和地位
- android 判断手机为小米
- 老人寻求到一名程序员,用2W行代码给自己打造了一幅肖像画
- (acm)C++加速输入的几种方法
- 在SSH里用$.ajax()函数为何失败的一系列问题
- ac ap原理、_AP面板是什么?家庭AC+AP的组网方式,真的适合所有人吗?
- Python(2.7)-元组(tuple)
- tf.sub/tf.mul/tf.neg等api废弃
- steam怎么设公用计算机,steam怎么设置家庭共享 steam家庭共享设置方法
- 国内外著名PT网站大全
- 如何快速分解CAD图纸中多个合并的CAD图形?
- freyja 功能基本完毕
- Swift游戏实战-跑酷熊猫 02 创建熊猫类
- Defect Detection论文合集、代码和数据集
- 荒野乱斗好友系统分析
- 201809-3-元素选择器
- 阿里妈妈智能诊断工程能力建设
- @GetMapping注解的理解
- CSTC2021 WriteUp
- Linux删除文件之后磁盘空间没有被释放