假设有这样两条数据:

(表名为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%' ......;

mysql查询多字段_mysql多关键字多字段模糊查询相关推荐

  1. mysql 多字段单关键字_mysql多关键字多字段模糊查询

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

  2. mysql子查询查询子字段_MySQL知识整理7.4—子查询

    数据科学探路者:MySQL知识整理7.3-连接查询​zhuanlan.zhihu.com 四.子查询 什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强 ...

  3. MySQL第九章索引_MySQL高级(索引优化+慢查询定位)

    一.先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换 ...

  4. mysql 去重后拼接_mysql学习笔记(三)—— 查询select

    本节主要介绍查询语句(select),包括基础查询.条件查询.模糊查询,以及一些常用函数包括:去重函数distinct.字符拼接函数concat.null判断函数ifnull. 内容都是自己学习后从S ...

  5. mysql %和正则_mysql 正则模式和like模糊查询

    MySql like模糊查询使用详解 一.SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的 ...

  6. mysql 为数据表添加字段_MySQL数据表添加字段实例

    MySQL 允许在开头.中间和结尾处添加字段.针对不同的位置,MySQL数据表添加字段的方式也有所不同,下面我们一起来看MySQL数据表添加字段的实例,方便我们理解MySQL数据表添加字段的方式. M ...

  7. mysql添加int字段_mysql怎么增加int字段?

    mysql增加int字段的方法:使用ALTER TABLE语句,通过"ALTER TABLE 表名 ADD 新字段 int(长度);"或"ALTER TABLE 表名 A ...

  8. mysql添加表字段_mysql命令添加表字段

    常用的通过mysql命令来更改表结构的一些sql语句,包括添加.删除.修改字段.调整字段顺序. 添加字段: alter table `user_movement_log` Add column Gat ...

  9. mysql sql时间比较_mysql和sql时间 字段比较大小的问题

    不能用两个字符串比较的小的方法来做.例如:'2010-10-20' > '2010-12-15' 正解:都是  ,   后面的时间- 前面的时间 mysql select count(*) fr ...

最新文章

  1. 04741计算机网络原理知识点,04741计算机网络原理知识点整理.doc
  2. 多种特征提取算法比较汇总
  3. 打算写的文章,先写个标题
  4. mysql instead of_mysqluniqueoptionprefixmyisam_recoverinsteadofmyisam-recover-options的解决方法
  5. 获取电脑和操作系统信息-uname
  6. Go编程技巧--io.Reader/Writer
  7. android responsebody转json_SpringBoot 项目开发是如何返回 json 数据以及数据封装
  8. 微波接力通信、卫星通信、无线移动通信
  9. 智能指针auto_ptr源码
  10. bios更新工具_5分钟教会您升级bios主板,华硕主板BIOS教程
  11. windows server 系统SERVER服务消失无法共享
  12. 【mqtt】client测试工具使用
  13. 英文名字的昵称(亲切的叫法)
  14. 国产操作系统盘点(2)——统信UOS & 深度Deepin
  15. android全局屏幕自动旋转,Android屏幕旋转
  16. Java工具类之String类
  17. AutoCAD系统变量和环境变量
  18. QuickJS 数字字面量解析
  19. 微服务选择Spring Cloud还是Dubbo?
  20. 通过wireshark下载微信小程序视频一例

热门文章

  1. 外星人入侵(使用python编写)
  2. 网络信息安全初步认知(内含IIS web搭建)
  3. 游戏客户端--个人学习路线总结、指北
  4. 【附源码】计算机毕业设计JAVA商店管理系统
  5. python 培训机构南通
  6. 现代化薪酬管理体系阶段
  7. html-canvas
  8. 有关access的上机试题_计算机Access考试上机试题
  9. 数据可视化 | Python绘制多维柱状图:一图展示西部各省人口变迁【附本文数据和代码】
  10. 使用Python进行名片OCR(识别姓名,职务,电话,Email邮箱)