mysql中五种包含查询的方法

这篇具有很好参考价值的文章主要介绍了mysql中五种包含查询的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景:数据库表字段存的是一个字符串,用“,”分隔,查询的sql需要匹配其中某一段字符串

测试的表数据如下图:
mysql 包含,mysql,数据库

方法1:使用LIKE

LIKE关键字用于模糊匹配,可以在查询中使用通配符进行匹配。%表示匹配任意多个字符,_表示匹配一个字符。
SELECT * FROM test t WHERE t.is_deleted = 0 AND ((t.key LIKE "%TEST_KEY_1%") OR (t.key LIKE "%TEST_KEY_2%"))

方法2:使用INSTR

INSTR函数用于查找子字符串在父字符串中的位置,如果找到则返回对应的位置,如果没找到则返回0。其中substr参数表示要查找的子字符串,str参数表示父字符串。
SELECT * FROM test t WHERE t.is_deleted = 0 AND (INSTR(t.key,"TEST_KEY_1") OR INSTR(t.key,"TEST_KEY_2"))

方法3:使用LOCATE

LOCATE函数和INSTR函数类似,用于查找子字符串在父字符串中的位置,但可以指定从父字符串的哪个位置开始查找。如果找到则返回对应的位置,如果没找到则返回0。其中substr参数表示要查找的子字符串,str参数表示父字符串,pos参数表示从哪个位置开始查找。
SELECT * FROM test t WHERE t.is_deleted = 0 AND (LOCATE("TEST_KEY_1",t.key) OR LOCATE("TEST_KEY_2",t.key))

方法4:使用POSITION

POSITION函数和INSTR函数类似,用于查找子字符串在父字符串中的位置,如果找到则返回对应的位置,如果没找到则返回0。其中substr参数表示要查找的子字符串,str参数表示父字符串。
SELECT * FROM test t WHERE t.is_deleted = 0 AND (POSITION("TEST_KEY_1" IN t.key) OR POSITION("TEST_KEY_2" IN t.key))

这四种方法返回的结果是一样的,如下图:
mysql 包含,mysql,数据库

如果想要精准匹配的话,上面四种就不适用了,可以使用方法5

方法5:使用FIND_IN_SET

FIND_IN_SET函数用于在一个逗号分隔的字符串集合中查找一个子字符串是否存在。如果存在,则返回对应的位置,如果不存在,则返回0。其中str参数表示要查找的子字符串,set参数表示用逗号分隔的字符串集合。
SELECT * FROM test t WHERE t.is_deleted = 0 AND (FIND_IN_SET("TEST_KEY_1",t.key) OR FIND_IN_SET("TEST_KEY_2",t.key))

mysql 包含,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-616043.html

到了这里,关于mysql中五种包含查询的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux访问MySQL数据库(包含实验案例)

            经过安装后的初始化过程,MySQL数据库的 默认管理员用户名为\\\"root\\\",密码为空 。         有密码的情况下,使用\\\"-p\\\"选项来进行密码校验。          验证成功以后将会进入提示符为\\\"MySQL\\\"的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每条 M

    2024年04月26日
    浏览(44)
  • SpringMVC中五种数据提交的方式

    单个数据注入:在方法中声明一个和表单提交的参数名称相同的参数,由框架按照名称直接注入。 对象封装注入:在方法中声明一个自定义的实体类参数,框架调用实体类中相应的setter方法注入属性值,只要保证实体类中成员变量的名称与提交请求的name属性值一致即可。  

    2024年01月16日
    浏览(35)
  • MySQL数据库01——mysql的安装和配置(包含workbench安装,超详细)

    做大数据分析等数据行业肯定要接触数据库,Mysql是比较适合个人学习的数据库软件,本期第一章教学怎么安装和配置。 先去官网下载:MySQL :: 下载 MySQL 社区服务器  社区版就可以,选上面这个,然后下载。(他会让你注册,可以不用,点下面跳过就行) 然后放在一个路

    2024年02月03日
    浏览(39)
  • Mysql判断某个数据库中是否包含某个表,与pymysql工具函数

    查看某个数据库中的全部表: 因此查看某个库中的某个表可以使用: 在pymysql中,可以写一个简单的工具函数,用于查询某个数据库中是否包含某个表: 这里的_query函数请参考博客:python使用pymysql总是超时的解决方案

    2024年02月09日
    浏览(55)
  • MySQL数据库——MySQL WHERE:条件查询数据

    在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 来指定查询条件。 使用 WHERE 的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件 带 BETWEEN AND 的查询条件 带 IS NULL 的查询条件 带 IN

    2024年02月03日
    浏览(58)
  • MySQL数据库,联合查询

    目录 1. 联合查询 1.1 内查询 1.2 外查询 1.3 自连接 1.4 子查询 1.5 合并查询 联合查询,简单的来讲就是多个表联合起来进行查询。这样的查询在我们实际的开发中会用到很多,因此会用 笛卡尔积 的概念。 啥是笛卡尔积?两张表经过笛卡尔积后得到的新表的列数是两表列数之和

    2023年04月23日
    浏览(72)
  • MySQL数据库,聚合查询

    目录 1、聚合查询 1.1聚合函数 1.1.1count函数 1.1.2sum函数 1.1.3avg函数 1.1.4max函数 1.1.5min函数 1.2group by子句 1.3having 聚合函数查询又叫函数查询,它是通过一些特定的函数根据需求来查询相关的信息,常见的聚合函数为: COUNT - 求总数,不包含某字段为null值 SUM - 求和,不包含某字

    2023年04月21日
    浏览(55)
  • MySQL数据库实验三 MySQL查询

    一、实验项目: MySQL查询。 二、实验目的 掌握MySQL的查询操作。 三、实验内容 (一): 1、查询lineitem表中商品编号(productid)和单价(unitprice),要求消除重复行。 2、计算lineitem表中每条记录的商品金额。 3、显示orders表单笔高于200元的客户号(userid)、成交金额(total

    2024年02月11日
    浏览(53)
  • MySQL数据库:数据库的约束以及数据的聚合、联合查询

    目录 一.关系模型的简要概述 二.数据库的约束  2.1约束类型         2.2NULL约束 2.3 UNIQUE:唯一约束 2.4 默认约束 2.5 PRIMARY KEY:主键约束 2.6 FOREIGN KEY:外键约束 2.7 CHECK约束 三.高效率查询 3.1高效率查询的分类 3.2聚合查询 3.2.1聚合函数 3.2.2 GROUP BY子句 3.2.3HAVING 3.3.联合查询

    2024年02月10日
    浏览(62)
  • python 实现学生信息管理系统+MySql 数据库,包含源码及相关实现说明~

    1、系统说明 python 编写的学生信息管理系统+MySQL数据库,实现了增删改查的基本功能。 2、数据库说明 本人使用的是 MySQL8.0 版本 数据库端口号为:3306 数据库用户名是:root 数据库名称是:practice 建立的表是:students 3、系统功能 增加学生信息 删除学生信息 修改学生信息 查

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包