7.MySQL必知必会之用通配符进行过滤-like

2024-06-02 16:18

本文主要是介绍7.MySQL必知必会之用通配符进行过滤-like,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

用通配符进行过滤-like

1. like操作符

先说两个概念:

📖 通配符(widcard) 用来匹配值的一部分的特殊字符。

📖 搜索模式 由字面值、通配符或两者结合构成的搜索条件。

通配符本身实际是SQL的WHERE子句中有特殊含义的字符,SQL支持集中通配符。

使用统配符条件就是必须要加上LIKE操作符。

LIKE指示MYSQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

LIKE相似的,那么它在搜索子句中的使用比(=)就更加包容,不用全部都相同,相似即可,相似到什么程度呢??

image

来看看下面给出的条件吧!!

1.1 百分号(%)通配符

最常使用的通配符是百分号(%)。在搜索串中,% 表示任何字符出现任意次数。

image

例如:找出所有词以jet起头的产品,可以使用以下SELECT语句:

输入:

    SELECT  prod_id  ,prod_nameFROM     productsWHERE prod_Name LIKE  'jet%'

输出:
image
分析:

此例子使用了搜索模式'jet%'.在执行这条子句时,将检索任意以jet起头的词。%告诉MySQL接受jet之后的任意字符,不管它有多少字符。

通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。

例如:%anvil%

搜索模式%anvil%表示匹配任何位置包含文本anvil的值,而不论它之前或者之后出现什么字符。

s%e:找到一s起头以e结尾的数据

⚠️ 除了一个或多个字符外,%还能匹配0个字符。%代表搜索模式中给定位置的0个、1个或者多个字符。

注意:通配符不能匹配NULL

1.2 下划线(_)通配符

下划线通配符的用途与%一样,但是下划线只匹配单个字符而不是多个字符。

输入:

SELECT prod_id , prod_name
FROM   products
WHERE  prod_name LIKE  ' _ ton anvil'

输出
image

分析: (_)通配符并没有把所有的 ton anvil的取出来
但是使用%通配符确可以

输入:

SELECT prod_id , prod_name
FROM   products
WHERE  prod_name LIKE  ' % ton anvil'

输出:
image

因为与%能匹配0个字符不一样,_ 总是匹配一个字符,不能多也不能少。

1.3 使用通配符的技巧

  1. 不要过度使用通配符,因为它比其他搜索花费更多时间。

  2. 确实需要使用时,不要把他们放在搜索模式开始处,因为这样是最慢的。

  3. 仔细注意通配符的位置。如果放错地方,可能不能返回想要的数据。

这篇关于7.MySQL必知必会之用通配符进行过滤-like的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024461

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp