本人最近看了一本有关于MySQL的书籍《MySQL必知必会》,书中只写了一些基本知识,但是也基本涵盖了所有的MySQL的知识点。其余的比较高级的也只是在基础上进行扩展或者是优化,看完这本书之后,本人也有一点疑惑,所以知道的朋友帮忙解决一下

1、MySQL的引擎分类

InnoDB,MyISAM以及MEMORY等3个引擎。

InnoDB是一个可靠的事务处理引擎,但是其不支持全文本搜索。

MEMORY在功能上等同于MyISAM,但由于数据存储在内存中,速度很快。

MyISAM是一个性能极高的引擎,它支持全文本搜索,但是不支持事务处理。

2、谈谈MyISAM的全文本搜索。

MyISAM的全文本搜索不像InnoDB中使用的like语法,搜索某一列,而是搜索全文本,只要有符合的都可以显示出来。它的基本格式如下:

Match(匹配的列名) Against(搜索的表达式)

(1)、基本语法:

SELECT columnName

FROM     TABLENAME

WHERE  MATCH(查询列) Against (‘anvils’ WITH QUERY EXPANSION)(这就是查询扩展)

由于搜索全文本,只要其中一个词符合所要求的都会被显示的,所以一般结果不是唯一的。他们会按照一定的顺序进行排列,主要是根据查询的优先级,以及你搜索            的关键词之间的位置。位置越近,优先级越高。

(2)布尔类型文本搜索

举例:

select  note_text

from  product

where Match(note_text) Against('heavy ' IN BOOLEAN MODE)

其中的 heavy为搜索的关键字。IN BOOLEAN MODE即为布尔文本类型的标志。

Against('heavy - rope*' IN BOOLEAN MODE)表示搜索出来行的结果去除含有rope的行

Against(' +rabbit + bait' IN BOOLEAN MODE)显示包含rabbit和bait的行

Against('rabbit + bait' IN BOOLEAN MODE)   显示包含rabbit和bait中任意一个的行

Against('rabbit bait' IN BOOLEAN MODE)   显示rabbit bait短语的行。

这里我提出一个问题:为什么InnoDB不支持全文本搜索,这就涉及到引擎内部的问题,希望大家给我答复。

3、正则表达式REGXEP

本人在看这本书之前,学过SQL SERVER数据库。但是当时没有学到正则表达式。后来在生活中遇到过几次,才有所了解。

regexp的英文意思就是正则表达式的意思。所以学习英语对于一个程序员来说,是必不可少的。我们有时候通过一个简称便能知道这个是什么,我自己就有亲身体会。

这里我要说的是正则表达式匹配特殊字符。当正则表达式匹配特殊字符时,必须要加上转义字符“\\”作为前导。

?是匹配当前的前面的任何字符的0次或1次出现。

4、视图

视图为虚拟表。主要用来数据的检索,其对select 语句进行封装,保护一些用户的基本数据。但是本人还是不够了解视图的使用。

5、游标(CURSOR)

游标的使用步骤:

定义——声明——使用——关闭

CREATE PROCEDURE C()

BEGIN

DECLARE 游标名 CURSOR

FOR

SELECT  _  FROM _;

END

上面就是创建游标的过程

OPEN CURSOR ,CLOSE CURSOR 也就是打开和关闭游标的操作。

以上最近所学的就是这些,希望上面的红色标注的问题,希望有人回答下。这些基本的知识对于我们想要了解MySQL的人来说很重要,还有一些我们所不知道的。也会继续了解深入。等待着我的后续数据库知识,让我们一起成长。

MySQL的一点浅显知识的更多相关文章

  1. Mysql优化方面的知识

    Mysql优化方面的知识 第一方面:30种mysql优化sql语句查询的方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避 ...

  2. Mysql必须知道的知识

    最近在准备面试,所以也整理了一些Mysql数据库常用的知识,供大家参考. 1.MySQL的复制原理以及流程 (1).复制基本原理流程 1. 主:binlog线程--记录下所有改变了数据库数据的语句,放 ...

  3. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  4. 今天开始每天一点ffmpeg知识。千里之行 。

    今天开始每天一点ffmpeg知识.千里之行 .

  5. MySQL中的基本知识

    本文是MySQL中的一些基本知识,包括各种基本操作.数据类型和表的约束等. ps:都是自己总结.手打出来的,虽然不是什么新东西,但也勉强算原创吧.. 一.数据库 1.创建:CREATE DATABAS ...

  6. scrapy中pipeline的一点综合知识

    初次学习scrapy ,觉得spider代码才是最重要的,越往后学,发现pipeline中的代码也很有趣, 今天顺便把pipeline中三种储存方法写下来,算是对自己学习的一点鼓励吧,也可以为后来者的 ...

  7. Mysql基础之 基础知识解释

    Mysql基础知识 RDBMS:关系型数据库管理系统.是将数据组织成相关的行和列的系统 存储过程:是存储在数据库中的一段声明性语句.触发器.java.php等都可以调用其存储过程.早期的mysql版本 ...

  8. mysql的外键知识

    外键的作用 1.用来约束两张表中的字段 2.外键也可以用来实现一对多 我们先举一个这样的例子,让大家对外键有一个基本的认识 当前我们有一个需求就是,需要创建一张表,这张表要包括“姓名”,“年龄”,“工 ...

  9. MySql面试题、知识汇总、牛客网SQL专题练习

    点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...

随机推荐

  1. 通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement

    背景 直接使用eclipse工具去执行,没有问题,通过testng.xml去执行,没有问题,但通过mvn clean test执行,就报错,提示org.apache.ibatis.binding.Bi ...

  2. Vim 命令图解-Gvim使用笔记-2017-5-9

    Vim 命令图解-Gvim使用笔记... 图片要是看的不太清楚推荐使用:鼠标右键在新标签中打开或是全屏看图 Vim中常用的一些速查命令: Vim发展历史:1976年Bill Joy开发了vi1988 ...

  3. 【踩坑】angularJS 1.X版本中 ng-bind 指令多空格展示

    做项目的时候遇到的问题 1.问题描述 用户在表单某个值输入多个空格,例如:A     B,保存至服务器 在列表查询页面中使用bg-bind的指令单向绑定,结果展示位A B,连续的空格被替换为单个空格 ...

  4. When Startup Disk is Full

    参考自What To Do When Your Mac's Startup Disk is Almost Full Delet——Empty Trash

  5. css预处理器之一---sass(一)

    慕课学习笔记: CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作. 通俗 ...

  6. selenium 对chrome浏览器操作

    参照http://www.testwo.com/blog/6931博客内容 1.下载ChromeDriver驱动包(下载地址: http://chromedriver.storage.googleap ...

  7. 递归的二叉查找树Java实现

    package practice; public class TestMain { public static void main(String[] args) { int[] ao = {50,18 ...

  8. JS中的phototype JS的三种方法(类方法、对象方法、原型方法)

    JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...

  9. SQL 软解析和硬解析详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt329 当客户端进程,将SQL语句通过监听器发送到Oracle时, 会触发一个 ...

  10. Springboot与Thymeleaf模板引擎整合基础教程(附源码)

    前言 由于在开发My Blog项目时使用了大量的技术整合,针对于部分框架的使用和整合的流程没有做详细的介绍和记录,导致有些朋友用起来有些吃力,因此打算在接下来的时间里做一些基础整合的介绍,当然,可能也 ...