本人最近看了一本有关于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. 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题

    我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...

  2. AOP 面向切面的编程

    一.面向切面的编程需求的产生 代码混乱:越来越多的非业务需求(日志和验证等)加入后,原有的业务方法急剧膨胀.每个方法在处理核心逻辑的同时还必须兼顾其他多个关注点. 代码分散: 以日志需求为例,只是为了 ...

  3. web本地存储

    Web本地存储 通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储. 在 HTML5 之前,应用程序数据只能存储在 cookie 中,包括每个服务器请求 ...

  4. js获取ip地址,操作系统,浏览器版本等信息,可兼容

    这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...

  5. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  6. Struts拦截器解析

    内建拦截器可以去struts-core.jar中的struts-default.xml文件中查看: 在没有引用内建拦截器时,已经帮我们指定了一个默认的拦截器: 使用的软件为MyEclipse:很强大!

  7. log4j源码解析

    前言:本文将在slf4j的基础上解释log4j的应用,阅读本文前可先行阅读SLF4J源码解析-LoggerFactory(二) 前言概要 在前言中提到的slf4j的基础,其主要是通过logback的a ...

  8. python 三级联动

       china_map ={  "华南":{   "广东":["广州市","佛山市","深圳市", ...

  9. 带你走进SAP项目实施过程——立项(1)

    到底谁会首先有上ERP的想法,可能是企业老板,也可能是总经理级别等高管.但不管是谁,在确定之前,按道理企业风控部.总经办或者信息部等相关部门都需要对ERP项目做立项申请.毕竟ERP项目涉及企业方方面面 ...

  10. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...