MySQL模糊查询语句整理集合

MySQL模糊查询语句整理集合

在MySQL中,我们经常需要进行模糊查询来查找信息。这篇攻略将介绍MySQL中常用的模糊查询语句,包括LIKE、NOT LIKE、REGEXP等。

LIKE语句

LIKE语句是最常用的模糊查询语句之一。它可以匹配指定模式的字符串。

语法

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;

其中,column_name(s)表示需要查询的列名,table_name表示查询的表名,pattern是要匹配的模式。pattern可以包含百分号(%)和下划线(_),其中百分号表示零个或多个字符,下划线表示一个字符。

示例

假设我们有一张名为employees的表,包含idnamesalary三列,我们需要查询所有名字以P开头的员工的信息。

SELECT * FROM employees WHERE name LIKE 'P%';

运行结果:

id name salary
1 Peter Parker 5000
4 Paul Johnson 6000

NOT LIKE语句

NOT LIKE语句是用来查询不匹配指定模式的字符串的。

语法

SELECT column_name(s) FROM table_name WHERE column_name NOT LIKE pattern;

其中,column_name(s)表示需要查询的列名,table_name表示查询的表名,pattern是要不匹配的模式。pattern可以包含百分号(%)和下划线(_),其中百分号表示零个或多个字符,下划线表示一个字符。

示例

假设我们有一张名为employees的表,包含idnamesalary三列,我们需要查询所有名字不以P开头的员工的信息。

SELECT * FROM employees WHERE name NOT LIKE 'P%';

运行结果:

id name salary
2 Mary Smith 4000
3 John Johnson 5500

REGEXP语句

REGEXP语句是用来查询符合指定正则表达式的字符串的。

语法

SELECT column_name(s) FROM table_name WHERE column_name REGEXP pattern;

其中,column_name(s)表示需要查询的列名,table_name表示查询的表名,pattern是要匹配的正则表达式。

示例

假设我们有一张名为employees的表,包含idnamesalary三列,我们需要查询所有名字包含m和o两个字母的员工的信息。

SELECT * FROM employees WHERE name REGEXP 'm.*o';

运行结果:

id name salary
1 Peter Parker 5000
3 John Johnson 5500

总结

在MySQL中,我们可以使用LIKE、NOT LIKE和REGEXP语句来进行模糊查询。根据不同匹配需求,选择不同的语句能够提高查询效率,使用正则表达式时还需掌握正则表达式的使用方法和规则。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL模糊查询语句整理集合 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法

    下面是关于「php命令行下执行PHP脚本文件的相对路径的问题解决方法」的完整攻略: 问题描述 在命令行下执行 PHP 文件时,如果 PHP 文件引用了其他文件,而这些文件的路径是相对于 PHP 文件的,则会出现路径不正确的问题。例如: $ php index.php Warning: include(path/to/file.php): failed to …

    database 2023年5月22日
    00
  • SQL 计算所有可能的表达式组合的小计

    计算所有可能的表达式组合的小计可以通过SQL中的GROUP BY和WITH ROLLUP来实现。具体步骤如下: 构建SQL查询语句,将需要计算小计的列通过GROUP BY进行分组。 例如,有一张名为sales的表,其中包含不同类型的商品销售情况,包括商品名、销售时间、销售数量和销售金额等信息。需要计算每个商品类型和每个销售时间段的销售量和销售金额小计,可以如…

    database 2023年3月27日
    00
  • innodb系统表空间维护方法

    InnoDB系统表空间是一个非常重要的组件,包含许多元数据,如表的结构信息、索引信息等。因此,它需要被维护以保证数据库的可用性和性能。本文将介绍InnoDB系统表空间维护的方法。 InnoDB系统表空间组成分析 在介绍维护方法之前,需要了解InnoDB系统表空间的组成。在InnoDB存储引擎中,系统表空间有两个组成部分:共享表空间和独立表空间。 共享表空间包…

    database 2023年5月19日
    00
  • MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全

    MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全 MySQL5.7.14安装教程 打开MySQL官网并下载适用于您系统的MySQL Installer。 执行下载的MySQL Installer并选择”Custom”安装选项。 选择需要安装的MySQL产品及版本,如MySQL Server 5.7.14和MySQL Workbench 6…

    database 2023年5月21日
    00
  • 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题

    当mysqlbinlog版本与MySQL版本不匹配时,可能会出现以下问题: 数据丢失或重复如果使用mysqlbinlog恢复MySQL数据时,mysqlbinlog的版本与MySQL服务器不一致,可能会出现数据丢失或重复的问题。这可能会影响到数据的完整性和准确性。 恢复失败如果mysqlbinlog的版本与MySQL服务器不匹配,则有可能出现恢复失败的情况。…

    database 2023年5月22日
    00
  • MSSQL批量替换语句 在SQL SERVER中批量替换字符串的方法

    MSSQL是Microsoft SQL Server的缩写,SQL SERVER是微软开发的一种关系型数据库管理系统。在使用SQL SERVER时,经常需要进行批量替换字符串的操作。下面是在SQL SERVER中批量替换字符串的方法的攻略。 一、使用REPLACE函数 1.语法 REPLACE函数可以在SQL SERVER中批量替换字符串,语法如下: REP…

    database 2023年5月21日
    00
  • 一文快速回顾 Java 操作数据库的方式-JDBC

    数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能。大家学习数据库时,比如 MySQL 这个数据库管理系统,都是在 CLI(Command Line Interface)上操作数据库的,现在,我们看看,在 Java Web 中,我们如何使用 …

    MySQL 2023年4月11日
    00
  • MySQL创建数据库表

    MySQL是一种关系型数据库管理系统,用于管理大量的数据。为了存储和管理数据,MySQL有一个重要的组成部分——数据表。 MySQL数据表是数据组织的逻辑单元,其中数据按行和列组织,类似于电子表格或Excel中的表格。在这个表格中,数据按照特定的格式和范围存储、分类和访问。 以下是MySQL创建数据库表的方法。 创建命令 MySQL的创建表命令结构如下所示:…

    MySQL 2023年3月9日
    00
合作推广
合作推广
分享本页
返回顶部