旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。

不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息大家可以随时关注官网,
下面我来谈谈mysql全文索引的用法,网上很多啦,我只讲讲我所了解滴部分哈:
我的mysql版本是:

新建一张表test:

CREATE TABLE `test` (
`name` char(12) NOT NULL DEFAULT '',
`nickname` char(12) NOT NULL DEFAULT '',
FULLTEXT KEY `name` (`name`,`nickname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

插入测试数据:

INSERT INTO `test` (`name`, `nickname`) VALUES("马特", "我喜欢laravel");
INSERT INTO `test` (`name`, `nickname`) VALUES("马特", "我喜欢laravel吧");
INSERT INTO `test` (`name`, `nickname`) VALUES("吉普森", "我不喜欢laravel啊");
INSERT INTO `test` (`name`, `nickname`) VALUES("吉普森", "我不会吧 啊");
INSERT INTO `test` (`name`, `nickname`) VALUES("凯文", "我真的不会吧");
INSERT INTO `test` (`name`, `nickname`) VALUES("玛丽", "我真的 不会吧");

好,数据接口和测数据已经添加完毕,回到"全文索引"...我们说下基本使用:

1.创建全文索引(FullText index)

1.1. 创建表的同时创建全文索引
CREATE TABLE `test` (
`name` char(12) NOT NULL DEFAULT '',
`nickname` char(12) NOT NULL DEFAULT '',
FULLTEXT KEY `name` (`name`,`nickname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1.2.通过 alter table 的方式来添加
ALTER TABLE `test` ADD FULLTEXT INDEX username  (`name`) #username  是索引名,可以随便起

或者:ALTER TABLE `test` ADD FULLTEXT username  (`name`)
1.3. 直接通过create index的方式
CREATE FULLTEXT INDEX username ON `test` (`name`)

CREATE FULLTEXT INDEX username ON `test` (`name`(20)) # 也可以在创建索引的时候指定索引的长度

2. 删除全文索引

2.1. 直接使用 drop index(注意:没有 drop fulltext index 这种用法)
DROP INDEX username ON test
2.2. 使用 alter table的方式
ALTER TABLE test DROP INDEX username;

3.使用全文索引

跟普通索引稍有不同

使用全文索引的格式:  MATCH (columnName) AGAINST ('string')

比如:

未完待续...

mysql全文索引之模糊查询的更多相关文章

  1. mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  2. PHP MYSQL登陆和模糊查询

    PHP MYSQL登陆和模糊查询   PHP版本 5.5.12    MYSQL版本 5.6.17  Apache 2.4.9 用的wampserver 一.PHPMYSQL实现登陆:  一共含有两个 ...

  3. MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  4. MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果

    注:MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果: 如下所示: MySQL: select * from tableName where name li ...

  5. 使用mybatis从mysql里进行模糊查询的编码问题

    关于这个问题,记录下我的解决方法,希望对有同样困惑的朋友,有所帮助. 问题描述: 我在做mybatis从mysql里模糊查询时,如果模糊的关键词是字母的话,可以查出来.如果模糊的关键词是汉字的话,查不 ...

  6. mysql进阶(六)模糊查询的四种用法介绍

    mysql中模糊查询的四种用法介绍 这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可以参考下. 下面介绍mysql中模糊查询的四种用法: 1 %: 表示任意0个或多个字符.可匹配任意类型 ...

  7. python中的mysql数据库like模糊查询

    %在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符. 大家知道,mysql的模糊查询也需要用到%. 所以,可以先把需要查的字符串抽出来,再以参数方式传入. args = ...

  8. mysql通配符进行模糊查询

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

  9. elasticsearch 7.x 如何满足mysql中的模糊查询功能(like)

    业务场景:筛选项原功能是用mysql左模糊进行过滤查询,现业务要用es,怎么样才能满足原功能,又不损性能. elasticsearch中有关于模糊查询的操作:wildcard 文档:https://b ...

随机推荐

  1. 补发————grid布局

    CSS Grid布局是CSS中最强大的布局系统.与flexbox的一位布局不同的是CSS Grid布局是一个二维布局系统,即它可以同时处理列和行.通过将CSS规则应用于父元素和其子元素,就可以轻松使用 ...

  2. Navicat连接oracle库报错的处理方法

    1.oracle客户端版本:11.2.0  64X navicat premium客户端:12.0. 64X 2.安装后,打开连接,输入连接信息,点击保存,提示oracle library is no ...

  3. CDN随笔

    CDN的理解:(1)CDN (内容分发网络)加速用户获取数据的 系统(2)部署在离用户最近的网络节点上(3)命中CDN 不需要访问后端服务器(4)互联网公司自己搭建或租用

  4. [编译] 2、minGW gcc在windows搭建编译win32程序环境

    1.普通下载一个MinGW程序.安装之后可以直接将MinGW目录拷贝到总工程的tool里面: demo_mesh_common tree -L 2 . ├── app ├── bin ├── buil ...

  5. MySQL注入技巧性研究

    0x00 前言 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,本人最近针对MySQL注入做了 ...

  6. ElasticSearch写入数据的工作原理是什么?

    面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? 面试官心理分析 问这个,其实面试官就是要看看你了解不了解 es 的一些基 ...

  7. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  8. 一分钟理解 HTTPS 到底解决了什么问题

    本文原作者“虞大胆的叽叽喳喳”,原文链接:jianshu.com/p/8861da5734ba,感谢原作者. 1.引言 很多人一提到 HTTPS,第一反应就是安全,对于普通用户来说这就足够了: 但对于 ...

  9. 在Apache上http强制跳转到https

    https已经配置完成,也可以正常使用,但输入域名或http加域名时也一样可以打开网站,于是想强制使用https 大概百度了一下方法,感觉与之前设置二级域名绑定二级目录时差不多 首先,修改httpd. ...

  10. 全栈开发工程师微信小程序-上(下)

    全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...