数据库-MySQL之数据库必知必会17-21章

news/2024/7/3 2:58:55

第17章 组 合 查 询

创建组合查询

可用UNION操作符来组合数条SQL查询。利用UNION,可给出多条SELECT语句,将它们的结果组合成单个结果集。
**例子:**假如需要价格小于等于5的所有物品的一个列表,而且还想包括供应商1001和1002生产的所有物品(不考虑价格)。
在这里插入图片描述

UNION规则

UNION必须由两条或两条以上的SELECT语句组成
UNION中的每个查询必须包含相同的列、表达式或聚集函数
列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型
UNION 默认消除重复行 如果需要重复行 则使用UNION ALL
在用UNION组合查询时,只能使用一条ORDER BY子句

第18章 全文本搜索

LIKE关键字和正则表达式的缺陷
通配符和正则表达式匹配通常要求MySQL尝试匹配表中所有行(而且这些搜索极少使用表索引)。因此,由于被搜索行
数不断增加,这些搜索可能非常耗时
虽然基于通配符和正则表达式的搜索提供了非
常灵活的搜索,但它们都不能提供一种智能化的选择结果的方法。例如,一个特殊词的搜索将会返回包含该词的所有行,而不区分包含单个匹配的行和包含多个匹配的行(按照可能是更好的匹配来排列它们)。类似,一个特殊词的搜索将不会找出不包含该词但包含其他相关词的行。(不智能
如何使用全文本搜索
在索引之后,SELECT可与Match()和Against()一起使用以实际执行搜索
一般在创建表时启用全文本搜索。CREATE TABLE语句(第21章中介绍)接受FULLTEXT子句,它给出被索引列的一个逗号分隔的列表
在这里插入图片描述
在这里插入图片描述
使用全文本搜索返回以文本匹配的良好程度排序的数据。两个行都包含词rabbit,但包含词rabbit作为第3个词的行的等级比作为第20个词的行高。而使用like关键字的不是。由于数据是索引的,全文本搜索还相当快
使用查询扩展
在使用查询扩展时,MySQL对数据和
索引进行两遍扫描来完成搜索:
 首先,进行一个基本的全文本搜索,找出与搜索条件匹配的所有行;
 其次,MySQL检查这些匹配行并选择所有有用的词(搜索结果中出现的词)。
 再其次,MySQL再次进行全文本搜索,这次不仅使用原来的条件,而且还使用所有有用的词
示例:
在这里插入图片描述
布尔文本搜索
以布尔方式,可以提供关于如下内容的细节
 要匹配的词;
 要排斥的词(如果某行包含这个词,则不返回该行,即使它包含
其他指定的词也是如此);
 排列提示(指定某些词比其他词更重要,更重要的词等级更高);
 表达式分组;
 另外一些内容。
示例
在这里插入图片描述
在这里插入图片描述
示例在这里插入图片描述
注:MySQL支持几种基本的数据库引擎。并非所有的引擎都支持本书所描述的全文本搜索。两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,而后者不支持(什么是数据库引擎 数据库引擎(Database Engine)是数据库管理系统(DBMS)的核心部分,负责存储、处理和保护数据。它处理所有数据管理任务,并允许用户和其他应用程序与数据库进行交互。)

第19章 插 入 数 据 && 第20章 更新和删除数据

插入使用INSERT
更新使用UPDATE语句
更新使用DELETE语句

第21章 创建和操纵表

利用CREATE TABLE创建表
1.给出新表的名字,在关键字CREATE TABLE之后给出;
2.给出表列的名字和定义,用逗号分隔。
使用NULL值
给列属性加上NOT NULL
在这里插入图片描述主键
使用 PRIMART KEY定义主键
使用AUTO_INCREMENT
使用AUTO_INCREMENT定义自增
每个表只允许一个AUTO_INCREMENT列,而且它必须被索引
引擎类型
如果省略ENGINE=语句,则使用默认引擎(很可能是MyISAM),多数SQL语句都会默认使用它。
InnoDB是一个可靠的事务处理引擎(参见第26章),它不支持全文
本搜索;
MEMORY在功能等同于MyISAM,但由于数据存储在内存(不是磁盘)
中,速度很快(特别适合于临时表);
MyISAM是一个性能极高的引擎,它支持全文本搜索(参见第18章),
但不支持事务处理。


http://lihuaxi.xjx100.cn/news/1855359.html

相关文章

上海毅速:深挖模具领域 成为行业变革者

近年来,3D打印在模具行业取得了大量的应用和拓展,越来越多的产品开始选择3D打印或者使用3D打印模具来进行制造。经过不断的发展,上海毅速副总王利军发现3D打印需要好的材料、好的工艺,同时也离不开好的装备平台。 在接受南极熊采访…

中国丙烯基弹性体PBE市场调研与预测报告(2023版)

内容简介: 丙烯基弹性体(PBE)是以丙烯为主要原料,加入少量乙烯(或α-烯烃)单体经溶液聚合而得到的以无定形区域为主的低结晶聚合物。与传统的乙丙橡胶不同,PBE的乙烯含量通常低于20%&#xff0…

SpringBoot+mysql+vue实现大学生健康档案管理系统前后端分离

一、项目简介 本项目是一套基于SpringBoot实现大学生健康档案管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&#…

简化控制台日志的输出内容

我们在运行或测试项目的时候,控制台会输出大量与SpringBoot启动和测试相关,以及与Mybatis-Plus启动相关的输出日志。这些输出日志会占用大量的篇幅,不利于我们查看项目的运行日志和测试结果。 简化控制台输出日志: 1. 在resources…

JMeter怎样测试WebSocket

一、安装WebSocket取样器 1、从JMeter插件管理器官网下载: https://jmeter-plugins.org/ 搜索websocket 1、jetty-http-9.1.2.v20140210.jar 2、jetty-io-9.1.2.v20140210.jar 3、jetty-util-9.1.2.v20140210.jar 4、websocket-api-9.1.1.v20140108.jar 5、w…

HarmonyOs 4 (二) HelloWord

目录 一 开发工具下载安装1.1 下载安装包1.2 下载相关依赖 二 开发者注册与个人实名认证三 第一个程序2.1 创建第一个程序2.2 认识开发者界面2.3 目录结构认识2.3.1 父目录认识2.3.2 AppScope 目录2.3.3 entry目录2.3.3.1 ets 目录2.3.3.2 resources目录 2.3.4 认识配置文件2.3…

《明解C语言》第三版 (入门篇) 第十一章练习答案

练习11-1 #include <stdio.h>int main(void) {char* p "123";printf("p \"%s\"\n", p);p "456"1; printf("p \"%s\"\n", p);return 0; } //输出“56”&#xff0c;p指向的地址1后&#xff0c;往…

TA-Lib学习研究笔记(八)——Momentum Indicators 上

TA-Lib学习研究笔记&#xff08;八&#xff09;——Momentum Indicators 上 Momentum Indicators 动量指标&#xff0c;是最重要的股票分析指标&#xff0c;能够通过数据量化分析价格、成交量&#xff0c;预测股票走势和强度&#xff0c;大部分指标都在股票软件中提供。 1. A…