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

第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://www.mzph.cn/news/188442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】:信号(三)捕捉

信号捕捉 一.sigaction1.基本使用2.sa_mask字段 二.可重入函数三.volatile四.SIGCHLD信号 承接上文 果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下: 用户程序注册了SIGQUIT信…

MOS管的静电击穿问题

MOS管输入电阻很高,为什么一遇到静电就不行了? 静电击穿:由于静电的积累导致电压超过了原本MOS的绝缘能力,导致电流突然增大的现象。 MOS管基础知识了解: G极(gate)—栅极,不用说比较好认 S极(source)—源…

基于SSM框架的餐馆点餐系统的设计

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

2023年亚太杯数学建模A题——深度学习苹果图像识别(

Image Recognition for Fruit-Picking Robots 水果采摘机器人的图像识别功能 问题 1:计数苹果 根据附件 1 中提供的可收获苹果的图像数据集,提取图像特征,建立数学模型,计算每幅图像中的苹果数量,并绘制附件 1 中所有…

【Java 基础】13 异常

1.异常是什么 异常是指在程序运行过程中可能发生的、与正常执行流程不符的事件。这些事件可能包括错误、不合理的输入、资源不足等。在 Java 中,异常是通过 throw 语句抛出的,可以是 Java 内置的异常类,也可以是自定义的异常类。 2. 异常类…

阅读文献总结2023

阅读文献基于卷积神经网络多源融合的网络安全态势感知模型 阅读文献 基于卷积神经网络多源融合的网络安全态势感知模型 题目基于卷积神经网络多源融合的网络安全态势感知模型文章信息:年份2023发文单位山西财经大学收录刊会计算机科学 (北大核心&#…

多线程(初阶五:wait和notify)

目录 一、概念 二、用法 (1)举个栗子: (2)wait和notify的使用 1、没有上锁的wait 2、当一个线程被wait,但没有其他线程notify来释放这个wait 3、两个线程,有一个线程wait,有一…

c++ pcl出现LNK2019 宏定义 PCL_NO_PRECOMPILE

问题:c pcl使用拟合圆柱时出现LNK2019问题; 说明:lib等配置没有问题; 解决方案 在上述代码中添加如下代码即可 #define PCL_NO_PRECOMPILE 是 C 中的预处理器指令,用于在代码中定义一个宏。而 #undef PCL_NO_PRECOM…

springBoot3.2 + jdk21 + GraalVM上手体验

springBoot3.2 jdk21 GraalVM上手体验 SpringBoot2.x官方已经停止维护了,jdk8这次真的得换了🤣 可以参考官方文章进行体验:https://spring.io/blog/2023/09/09/all-together-now-spring-boot-3-2-graalvm-native-images-java-21-and-virt…

C++基础 -25- 动态多态

静态多态在程序编译的时候,确定将要执行的状态。 动态多态在程序运行的时候,才能确定执行的状态。 下面举例实现动态多态 work函数接口通过传参不同做不同的工作 #include "iostream"using namespace std;class person {public:person(){}vi…

记一次移动云不同机器下的对等网络使用

1、清单 机器1的VPC: 子网:172.16.16.0/24 机器2的VPC 子网:172.27.27.0/24(子网不能与机器1的子网相同,否则对等网络无法成功建立) 2、添加对等网络 添加链接:https://console.ecloud.1008…

数字电源为什么一般用DSP控制,而不能用普通的单片机?

数字电源为什么一般用DSP控制,而不能用普通的单片机? 首先你要清楚,数字电源需要一个芯片具备什么功能? 1 能发PWM波 ,并且具备保护关断功能; 电源对PWM发波 要求很高,精度要ns级甚至ps级的&…

js数组方法大全(开发必会)

前言 js中数组的方法还是有很多的,而且js中数组操作方法我说是一个前端开发必须熟练使用和掌握的我想没有人反对吧。 说真的,数组这些api本身还是需要死记硬背的,就像乘法口诀表,很多东西你需要很熟练的就能写出来。就像让你去找数组里面符合条件的元素,你总可能定义一个空数…

docker部署kerberos,群晖nas中nfs开启kerberos校验

背景 nas开启nfs存储共享,默认情况下只能给IP/24做限制, 达不到安全效果 需要增加kerberos策略校验,并且持久化kerberos数据,避免容器重启丢失数据 环境描述 宿主机系统:CentOS Linux release 7.9.2009 (Core) Docker版本&#xf…

7nm项目之顶层规划——01数据导入

1.创建workspace 创建workspace后,在其目录下产生。 CORTEXA53.json文件是将有默认配置的文件master.json、有library的.config.json文件、tunes下CORTEXA53.tunes.json文件合并 注:tunes下的CORTEXA53.tunes.json文件可以覆盖一些master.json的设置…

学习感悟一己之言

学习感悟一己之言 学习上克服困难实际上是克服心理上或认识上的障碍的过程。所谓的理解,就是化陌生为熟悉。看不懂,一方面是因为接触的材料太陌生,即远离你当前的背景知识;另一方面是材料或讲述者的描述刻画不准确或晦涩不当。有了…

Halcon算子中的slant倾斜hom_mat2d_slant

1.hom_mat2d_slant(HomMat2DIdentity, rad(50), y, 0, 0, HomMat2DSlant) --这个是选择20度和50度的。(0, 0)点对应的是左上角,50度就是让y轴产生有50度的倾角。 2.hom_mat2d_slant(HomMat2DIdentity, rad(60), x, 0, 0, HomMat2D…

【Python表白限定】李峋同款可写字版跳动的爱心(完整代码)

文章目录 跳动的爱心环境需求完整代码详细分析系列文章 跳动的爱心 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这…

RocketMQ-快速实战

MQ简介 MQ:MessageQueue,消息队列。是在互联网中使用非常广泛的一系列服务中间件。 Message:消息。消息是在不同进程之间传递的数据。这些进程可以部署在同一台机器上,也可以分布在不同机器上。(数据形式&#xff1a…

【C++笔记】红黑树封装map和set

一、map和set的泛型封装逻辑 map和set的底层都是红黑树,所以我们想要用红黑树封装map和set的第一个问题就来了,因为set是key结构而map是key-value结构,怎样用同一个底层结构去封装出两个不同存储结构的容器呢?难道我们要将红黑树…