MySQL多关键字多字段模糊查询

假设有这样两条数据: (表名为user) 1) username=admin,password=000000 2) username=admin,password=123456 我们要实现的效

假设有这样两条数据:
 
(表名为user)
 
1) username=admin,password=000000
 
2) username=admin,password=123456
 
我们要实现的效果是可以输入多个关键字查询,多个关键字间以逗号分隔。
 
使用上述表举例:输入单个关键字“admin”可查出这两条数据,输入“admin,000000”只查出第一条数据,可实现的sql语句是:
 
select * from user where concat(username, password) like ‘%admin%’;
 
select * from user where concat(username, password) like ‘%admin%’ and concat(username, password) like ‘%000000%’;
 
concat的作用是连接字符串,但这样有一个问题:如果你输入单个关键字“admin000000”也会查到第一条数据,这显然不是我们想要的结果,,解决方法是:由于使用逗号分隔多个关键字,说明逗号永远不会成为关键字的一部分,所以我们在连接字符串时把每个字段以逗号分隔即可解决此问题,下面这个sql语句不会查询到第一条数据:
 
select * from user where concat(username, ‘,’, password) like ‘%admin000000%’;
 
如果分隔符是空格或其他符号,修改 ‘,’ 为 ‘分隔符’ 即可。
 
总结:
 
select * from 表名 where concat(字段1, ‘分隔符’, 字段2, ‘分隔符’, …字段n) like ‘%关键字1%’ and concat(字段1, ‘分隔符’, 字段2, ‘分隔符’, …字段n) like ‘%关键字2%’ ……;

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1895281.html

(0)
上一篇 2025年2月22日 13:50:34
下一篇 2025年2月22日 13:50:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MySQL查询前n条记录

    SQL Server 中使用top查询前n行数据,语法规则为: SELECT TOP number|percent column_name(s) FROM table_name 而在MySQL中使用 sql server 中使用top查询前…

    数据库 2025年2月22日
    300
  • MySQL授权以及状态查询

    MySQL授权以及状态查询 CREATE DATABASE odi; — 创建ODI数据库GRANT ALL PRIVILEGES ON *.* TO odi@ mysql授权以及状态查询 CREATE DATABASE odi…

    数据库 2025年2月22日
    300
  • 如何理解MySQL的查询执行计划和优化器?

    如何理解MySQL的查询执行计划和优化器? 概述:MySQL是最常用的开源关系型数据库之一,其查询执行计划和优化器是MySQL查询性能优化的关键。了解和理解MySQL的查询执行计划和优化器可以帮助我们优化查询语句,提高数据库的性能。本文将介…

    2025年2月21日
    300
  • 使MySQL查询区分大小写的实现方法

    我们在MySQL中使用SELECT语句查询时,可不可以使查询区分大小写?今天从网络上找到了方法,现总结如下。 1、一种方法是可以设置表或行的collation,使其为binary或case sensitive。在MySQL中,对于Colum…

    数据库 2025年2月19日
    200
  • MySQL中的数据查询实现技术

    mysql是现今最流行的关系型数据库系统之一,具有高性能、安全、可扩展等特点,被广泛应用在各行各业的数据管理工作中。而其中数据查询是mysql最基本的操作之一,也是我们日常开发中经常接触的。本文将介绍mysql中数据查询实现的技术,包括sq…

    数据库 2025年2月18日
    300
  • 如何使用Go语言创建高性能的MySQL数据查询操作

    在现代软件开发中,对数据的处理和查询操作是必不可少的。而mysql作为关系型数据库管理系统,在大多数企业级应用中都扮演着重要的角色。go语言作为一门高效、快速的编程语言,也越来越多地被使用到数据处理和查询操作中。 本文将介绍如何使用Go语言…

    数据库 2025年2月18日
    300
  • PHP开发技巧:如何使用Memcached缓存MySQL查询结果

    php开发技巧:如何使用memcached缓存mysql查询结果 Memcached是一个高性能的分布式内存对象缓存系统,它可以用于减轻数据库的负载,提高应用程序的性能。在PHP开发中,我们经常会遇到需要频繁查询数据库的情况,这时候使用Me…

    数据库 2025年2月18日
    200
  • PHP开发技巧:如何使用Redis缓存MySQL查询结果

    php开发技巧:如何使用redis缓存mysql查询结果 引言:在Web开发过程中,数据库查询是常见操作之一。然而,频繁的数据库查询会导致性能问题,影响网页的加载速度。为了提高查询效率,我们可以使用Redis作为缓存,将经常被查询的数据放入…

    数据库 2025年2月18日
    300
  • PHP开发技巧:如何使用Xcache缓存MySQL查询结果

    php开发技巧:如何使用xcache缓存mysql查询结果 引言:在Web应用程序中,我们经常需要执行大量的数据库查询操作。这些查询操作可能会消耗大量的系统资源和时间。为了提高性能和减少服务器的负载,我们可以使用缓存来存储和重用查询结果。在…

    数据库 2025年2月18日
    200

发表回复

登录后才能评论