MySQL全文索引模糊查询_mysql全文索引之模糊查询
旧版的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 ‘‘,
FULLTEXTKEY`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 ‘‘,
FULLTEXTKEY`name` (`name`,`nickname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1.2.通过 alter table 的方式来添加
ALTER TABLE `test` ADD FULLTEXT INDEXusername (`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全文索引模糊查询_mysql全文索引之模糊查询相关推荐
- mysql 中文字段名_MySQL全文索引怎么做?| 教程分享
- 点击上方"爱数据学习社"关注我们吧! - 文末领取[商业分析资料] 为什么要用全文索引 我们在用一个东西前,得知道为什么要用它,使用全文索引无非有以下原因: like查询太慢. ...
- db2有MySQL那样的时间戳_MySQL 按照日期格式查询带有时间戳数据
按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...
- MySQL数据库应用 多表查询_mysql数据库-多表查询
今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: 数据库的创建 : create ...
- mysql 新建子查询_Mysql创建SQL子查询ALIAS
通常这些被称为视图.例如: CREATE VIEW vMyLongQuery AS SELECT a, b, c FROM (LONG QUERY) X WHERE ... 然后可以像这样引用: SE ...
- mysql范围查找性能_MYSQL(四)查询性能优化
优化数据访问 1.是否向数据库请求了不需要的数据 解决方式: A. 查询后加limit B. Select后写需要的列而不是* 2. 是否扫描了额外的数据 数据库的访问方式速度由慢到快:全表扫描,索引 ...
- mysql多线程查询_MySQL 利用多线程提升查询性能的一种思路
转载自:http://dinglin.iteye.com/blog/1432443 背景 报表统计类的查询是一类耗时的查询.使用场景是QPS并不大,单每个查询由于需要访问较多数据,对大量数据做处理,执 ...
- mysql设置定位慢查询_mysql优化——定位慢查询
1.定位慢查询 1.show status 命令 命令使用方式:show [session|global] status like 'slow_queries' 如果你不写 [session|glo ...
- mysql关联表分页查询_MySQL一对多分页查询-主表关联表条件查询问题
文章目录 1 摘要 2 情景复现 2.1 数据模型 2.2 核心代码 2.3 测试数据 2.4 拓展一点 1 摘要 分页查询是后台项目中最常见的一种操作,在一对多(one to many)的关系表中, ...
- mysql结果作为另一次查询_MySql中一次查询结果用作二次查询条件
Sql的截取关联查询 最近在写sql时,碰到了如下情况, 需求是通过一个账户的id去查询关联的该账户下的所有简历,其中地址字段要通过另一个表进行关联查询.地址字段存的是地址表中对应的编号. 例如210 ...
- mysql 多表中间表查询_mysql多表连接查询
新建两张表: 表1:student 截图如下: 表2:course 截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键.) ...
最新文章
- 报名 | 贝叶斯计算方法在生物制药领域的应用(基于SAS)
- 【UIKit】TabView
- 使用C#进行Word 2002和Excel 2002编程
- DATAGUARD STANDBY 服务器归档日志管理
- python递归求5!_用Python解数独[6]:递归获得最终答案
- 基于JAVA+SpringMVC+Mybatis+MYSQL的旅游景点酒店预订网站设计
- 中国量子计算机 是纠缠,量子纠缠获得突破,中国量子计算机问世,民营企业立下显著功勋...
- 【服务器】在 iPad 上运行 VSCode(宝塔+code server)
- git 分支管理策略(7)
- SpringMVC、SpringBoot拦截器的实现和原理
- PCB绘图要点QA汇总
- ubuntu18.04 安装绿联usb转网卡驱动
- mysql sqlserver 跨库查询_SQLServer跨库查询
- pearson 相关系数可视化
- 使用Cisco Packet Tracer 搭建网络
- insert用法小结
- 分节符是什么?怎么利用分节符设置某一页文档的页眉页脚?
- matlab 非a到z,matlab命令及函数A到Z
- Android8.0替换默认静态壁纸
- nginx+uwsgi+django1.9+mysql+python2.7部署到CentOS6.5
热门文章
- [html] input元素size属性和width 的区别是什么?
- [html] 请使用一个div写出有三条横线的小图标
- [html] 说说你对html中的置换元素和非置换元素的理解
- [css] 说说你对jpg、png、gif的理解,分别在什么场景下使用?有使用过webp吗?
- 工作283:从字典表获取数值
- 工作74:vue带参数跳转其他页面
- “约见”面试官系列之常见面试题之第一百零六篇之css只在当前组件中起作用(建议收藏)
- EC20模组使用MQTT库对接EMQX,基于STM32F407
- python词云_python词云
- case mybatis 不同表_解决mybatis case when 报错的问题