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

news2025/1/6 17:23:27

第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.coloradmin.cn/o/1275294.html

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

相关文章

树莓派系列教程:单总线控制DS18B20

DS18B20是一个比较常用的温度传感器,采用单总线控制,以前用单片机编程控制时严格按照单总线的时序控制,今天来看看在linux系统下如何控制DS18B20,体验一下在linux世界,一切都是文件。 一、修改配置文件 1sudo vi /boot/config.tx…

JavaScript WebAPI(三)(详解)

这次介绍一下webAPI中的一些知识: 回调函数 回调函数是指 如果将函数A做为参数传递给函数B时,我们称函数A为回调函数 例如: // 立即执行函数中传递的函数是一个回调函数 (function(){ console.log("我是回调函数") })(); // …

CSS技巧:从高度0过渡到自动高度

本文翻译自 CSS trick: transition from height 0 to auto!,作者:Francesco Vetere, 略有删改。 如果你在CSS上花了足够长的时间,很可能你曾尝试过从height:0到auto的平滑过渡。。。却发现它不起作用!😢 ️…

USB Type-C的基本原理

1 USB Type-C的基本原理 1.1 基本特性 Figure 1-1 USB Type-C接头外形 USB Type-C(简称USB-C)的基本特性: 1. 接口插座的尺寸与原来的Micro-USB规格一样小,约为8.3mm X 2.5mm 2. 可承受1万次反复插拔 3. 支持正反均可插入的“正反…

力扣6.N字形变换

题目描述 思路 模拟轨迹,每当行数i到最顶(0),或者最底(numRows)的时候,就会反方向走。 用flag来标记方向,在题解里看到,真的很巧妙5555! 代码 class Solu…

Tomcat-安装与基础配置

Tomcat-安装与基础配置 下载 下载Tomcat9 选择适合自己系统位数的版本下载 Tomcat-目录 bin: 存放启动与关闭Tomcat的脚本文件conf: 存放Tomcat的各种配置文件,其中最主要的配置文件就是server.xml【如果端口冲突,就可以将 8080 端口修改】lib: 存放Tomcat运行时所需的j…

2023-12-01 AIGC-自动生成ppt的AI工具

摘要: 2023-12-01 AIGC-自动生成ppt-记录 自动生成ppt: BoardMix boardmix 一键生成ppt boardmix是一款基于云的ai设计软件,允许创建用于各种目的的自定义演示文稿、ai绘画,ai生成思维导图等。以下是它的一些功能: 可定制的模板 - 它有一个…

基于Web邮箱的邮件系统

题目: 基于web的邮件收发系统设计与实现 摘 要 计算机的应用已经越来越广泛,它从产生到完善已经差不多有50年左右的历史,更新换代速度非常快,在人们生活、工作中都发挥了不可替代的作用,几乎所有行业都离不开它,已经成…

校招笔试-Windows开发工程师客观题合集解析

360公司-2019校招笔试-Windows开发工程师客观题合集 API无法实现进程间数据的相互传递是PostMessage 2.以下代码执行后&#xff0c;it的数据为&#xff08;异常&#xff09; std::list<int> temp; std::list<int>::iterator it temp.begin(); it --it; 3.API…

matlab 无迹卡尔曼滤波

1、内容简介 略 26-可以交流、咨询、答疑 2、内容说明 无迹卡尔曼滤波 无迹卡尔曼滤波 无迹卡尔曼滤波 3、仿真分析 %该文件用于编写无迹卡尔曼滤波算法及其测试 %注解&#xff1a;主要子程序包括&#xff1a;轨迹发生器、系统方程 % 测量方程、UKF滤波器 %----…

微机原理——定时器学习1

目录 定时类型 8253内部结构框图 8253命令字 六种工作方式及输出波形 计数初值的计算与装入 8253的初始化 定时类型 可编程定时器8253&#xff1a;&#xff08;内部采用的是16位 减法计数器&#xff09; 8253内部结构框图 8253命令字 8253有三个命令字&#xff1a;方式命…

39.从0到上线三天搭建个人网站(第三天)

点赞收藏加关注&#xff0c;你也能住大别墅&#xff01; 一、第三天主要工作 1.完成detail页面的开发 2.将所有数据以及部分静态资源存在uniCloud&#xff0c;为以后做管理后台做准备 3.创建云对象getData&#xff0c;在beforecreate&#xff08;&#xff09;中获取数据 4.…

Linux 常用命令集

1、根据端口查询进程号&#xff1a; netstat -nlp | grep 10050 或者使用 lsof -i:10050 2、查询所有服务进程号&#xff1a;top 3、根据进程号查询服务路径 ll /proc/28145/cwd 4、同步网络时间 yum install -y ntpdate ntpdate ntp.aliyun.com 设置定时任务 更新时间 * * * *…

ansible模块

目录 一、ansible的command模块 1.ad-hoc 2.playbook 3.command模块 二、ansible的shell模块 1.shell模块帮助 2.shell模块支持的参数和解释 3.简单试验 4.批量远程执行脚本 三、script模块 1.script模块帮助 2.shell模块支持的参数和解释 3.实践 四、ansible文件…

ESP32-Web-Server编程- 通过滑动条向 Web 提交数据

ESP32-Web-Server编程- 通过滑动条向 Web 提交数据 概述 上一节我们讲述了通过文本框向 ESP32 发送字符串、数字。有时&#xff0c;我们需要向 ESP32 发送连续的值&#xff0c;这种需求可以通过在网页端实现滑动条来实现。 需求及功能解析 本节演示如何在 ESP32 上部署一个…

P4 链表的节点数统计与链表数据查找替换

目录 前言 01 链表的节点数统计 02 链表数据查找替换 2.1 残疾的数据查找 2.2 数据查找优化 前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C 》✨✨✨ &#x1f525; 推荐专栏2: 《 Linux C应用编程&#xff08;概念类&#xff09;》✨…

这几款 idea 插件让效率起飞!

作者&#xff1a;苍何&#xff0c;前大厂高级 Java 工程师&#xff0c;阿里云专家博主&#xff0c;CSDN 2023 年 实力新星&#xff0c;土木转码&#xff0c;现任部门技术 leader&#xff0c;专注于互联网技术分享&#xff0c;职场经验分享。 &#x1f525;热门文章推荐&#xf…

MySQL 教程 1.4

MySQL 连接 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。 实例 以下是从命令行中连接mysql服务器的简单实例&#xff1a; [roothost]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗…

jmeter资料

1.jmeter介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Java 小服务程序、CGI 脚本、Java 对象…

大数据:Hadoop刷题

大数据&#xff1a;Hadoop刷题 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sql要…