原始需求:数据库中存储了很多微信名称然后得进行模糊查询。

Q1:为什么不进行一对多的设计,可以采用一对多的设计?

A:有时候仅仅为了一个属性进行建立一张表,会将表的数量变多,在插入和查询时候进行大量的操作。

数据库demo设计:

CREATE TABLE `WeNickName` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `weNickName` varchar(11) DEFAULT NULL COMMENT '微信名',
  `other` int(11) DEFAULT NULL COMMENT '其他信息',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

一对多的查询:

情景1:要进行简单的模糊查询,例子:输入“爱”,查出“爱情”、“爱”、“爱情爱”等

查询方式为:

select * from WeNickName where weNickName like "%爱%"

结果为:

情景2:对数据进行精确模糊查询,如;输入天使 查出来 第4和第6条

select * from WeNickName where FIND_IN_SET("天使",weNickName)

结果为:

注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

多对多的查询:

场景一:输入多个查询对象,是模糊查询,例如:输入爱情,天使查出来结果是除了第二、三条其他的数据都应该查出来。

select * from WeNickName where weNickName regexp "爱情|天使"

Q2:使用正则表达和like间的效率

A2:效率上正则表达相对效率低下一些,但是在数量比较小的情况下,使用正则表达式能让sql语句变得简单

场景二:在多对多情况下,想要精确查询,输入天使宜家、天使 那么仅仅会输出第六条

目前我还没有找到比较好且简洁的方式处理这个问题,如果有人知道如何让处理这类问题,欢迎在评论中留言。

多对一的查询

场景一:指多个属性对一个字符进行模糊查询,这种场景比较少见,基本的sql模式语句模式为:

SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%’

欢迎大家关注我,我将不定期更新一些自己在后台开发中遇见的一些通用问题总结帮助大家一起进步。

关于数据库字段模糊查询相关推荐

  1. MySQL单表多字段模糊查询解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 在最近的一个项目需要实现在单表中对多字段进行多个关键字的模糊查询,但这数个关键字并不一定都存在于某个字段 例如现有table表 ...

  2. oracle查询blob模糊搜索,BLOB字段模糊查询

    1. BLOB字段模糊查询报错 blob字段直接用select   * from  table_name  where  column  like'%%'查找的时候是不能实现的,主要是字段类型不符.不 ...

  3. Sql语句、多个字段模糊查询、

    Sql语句收获 1. select * from 表 order by time asc 最早时间在前 select * from 表 order by time desc 最新时间在前 2.模糊查询 ...

  4. Springboot项目如何设计接口中敏感字段模糊查询?

    目录 前言 场景分析 实现方案 环境配置 依赖配置 代码实现 总结 前言 在<Springboot项目如何设计接口中敏感字段的加密.解密>和<Springboot项目如何设计接口中敏 ...

  5. python数据库模糊查询_python中数据库like模糊查询方式

    python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...

  6. MySQL单表多字段模糊查询

    今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...

  7. python数据库模糊查询_Python操作mongodb数据库进行模糊查询操作示例

    本文实例讲述了Python操作mongodb数据库进行模糊查询操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pymongo import re ...

  8. mysql 加密脱敏字段模糊查询 笔记

    mysql 加密脱敏字段模糊查询 入库的数据是要进行加密脱敏的数据:但是这个字段还要支持界面模糊匹配:这里做个笔记吧 仅供参考 insert into 的sql 大概长这样 insert into t ...

  9. MySQL多重条件模糊查询_简单实现mysql多字段模糊查询

    在后台的项目中,会经常遇到,就是信息的查找,这里就举个简单的例子,如搜索某一个产品的信息,在一个表里面有多个字段,而搜索的内容可能是其中的某个字段,这样只有多字段查询才能实现. MySQL多字段模糊查 ...

  10. mysql的模糊查询在xml_在Mybatis xml使用mysql数据库进行多字段模糊查询(Like)

    在mysql中使用Like进行一些简单轻量级的查询,并不需要考虑太多效率问题. 一.Like单字段查询比较简单. 没有特殊要求的话,直接使用%关键字%就进行左右匹配查询 ..... ... SELEC ...

最新文章

  1. 判读一个对象不为空_LabVIEW面向对象编程_初窥门径(3):开发实践
  2. MapReduce基础开发context.write注意new text()多出一列的问题
  3. 一个docker镜像中的目录删除不了问题
  4. 微软将数据保存在玻璃中 可以安全地存储数千年
  5. 理想汽车致歉并宣布召回10469台车,官方:不影响后续生产和销售
  6. Spark实例项目—每个域名下访问次数最多的URL
  7. 网易云api如何调用_谈谈网易云如何快速升级
  8. Atitit 技术体系路线图与金字塔模型 前端技术层次金字塔 目录 1. 原理core 框架层 》》 模块 项目层 1 1.1. 技术原理层 1 1.2. 框架层 1 1.3. 模块 1 2.
  9. 最新凌风云支付系统网站源码全解无后门V4.1.1版本
  10. Bilibili宋红康老师MySQL高级篇笔记-架构篇(有完整的md格式笔记,迟点整理好会挂链接)
  11. 【寻找最佳小程序】12期:小程序数据助手——微信官方打造,移动端数据分析工具...
  12. C++学习——如何在C++中把map存入一个txtx文件
  13. C语言中的typedef struct用法
  14. VisualC++开发GIS系统
  15. 软件测试思维总结(2)-----跳跃性思维:不按套路出牌
  16. 无线传感网的MAC层协议
  17. python根据excel生成报表_Python实现导出数据生成excel报表的方法示例
  18. .text‘ will not fit in region `ROM‘, region `ROM‘ overflowed by 3056 bytes问题记录
  19. python的ide是什么意思_python ide(python ide是什么意思)
  20. 软件测试BUG提交方式

热门文章

  1. 计算机专业英语教程第七版,经典_计算机专业英语教程.pdf
  2. 04 捷联式惯导系统概要
  3. 使用exceljs导出excel表格
  4. vc2012编译thrift
  5. 多线程抓取链家网数据
  6. curl测试post请求
  7. 文本聚类kmeans
  8. 如何用C++制作游戏开发概述
  9. 如何快速成为一个运维工程师
  10. oc引导win方法_适配自己的OC引导一键生成Opencore Generation X使用指南