• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL单表多关键字模糊查询的实现方法

MySQL单表多关键字模糊查询的实现方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了关键字,模糊查询等相关知识,希望本文的分享对您有所帮助

MySQL单表多关键字模糊查询实现方法是很多人都非常想知道的一个问题,那么,究竟采用什么方法,才能实现MySQL单表多关键字模糊查询呢?

在最近的一个项目需要实现在MySQL单表多关键字模糊查询,但这数个关键字并不一定都存在于某个字段。例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题,标签和介绍。然后根据用户输入的查询请求,将输入的字串通过空格分割为多个关键字,再在这三个字段中查询包含这些关键字的记录。


可目前遇到的问题是,这些关键字是可能存在于三个字段中的任意一个或者多个,但又要求三个字段必须包含所有的关键词。如果分别对每个字段进行模糊匹配,是没法实现所需的要求,由此想到两种方法:

在插入记录的同时,将需要进行多字段模糊查询的字段合并成一个字串并加入到一个新的字段中,然后对这个新字段进行模糊查询。 使用全文检索,但是这需要用到中文分词或者将汉字转化为拼音(拆分汉字是不可行的,MySQL默认FT最小字节为4),而且并不利于今后的维护。
在网上爬了两天,对此问题的处理都没有找到满意的解决方法,最后在《MySQL权威指南》中翻到了CONCAT的使用方法,在书中的对CONCAT的描述是:

CONCAT(str1,str2,…)
返回值:由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT允许只有一个输入参数的情况。

因此,MySQL单表多关键字模糊查询可以通过下面这个SQL查询实现
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%'
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL单表多关键字模糊查询的实现方法
  • mysql 左连接、右连接和内连接
  • php 屏蔽关键字的方法
  • 详解MySQL5.7中的关键字与保留字
  • Access出现"所有记录中均未找到搜索关键字"的错误解决
  • MySQL单表多关键字模糊查询的实现方法
  • oracle关键字作为字段名使用方法

相关文章

  • 2018-12-05恢复从 Access 2000、 Access 2002 或 Access 2003 中数据库删除
  • 2017-05-11MySQL查询和修改auto_increment的方法
  • 2018-12-05优化mysql性能的十个参数的详细介绍
  • 2018-12-05oracle 层次化查询(行政区划三级级联)
  • 2018-12-05mysql数据库远程访问设置的方法说明
  • 2018-12-05中文Access2000速成教程--1.8 定义表之间的关系
  • 2018-12-05关于mysql general log 的相关操作
  • 2018-12-05replace MYSQL字符替换函数sql语句分享(正则判断)
  • 2017-05-11MySQL配置文件my.cnf中文版对照
  • 2018-12-05通过mysqli扩展技术实现内存回收

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL 字符串函数大全
    • MySQL中replace into语句的用法详解
    • MySQL的Grant命令详解
    • SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
    • mysql中提高Order by语句查询效率的两个思路分析
    • 创建一个实现Disqus评论模版的MySQL模型
    • 定时备份mysql, 定时切割nginx access log的方法
    • 实例详解MySQL5.7中 performance和sys schema中的监控参数
    • mysql中mydumper和mysqldump使用对比详解
    • 在Oracle 8x实现自动断开后再连接

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有