《MySQL数据库原理与应用(微课版)》全套教学课件_第1页
《MySQL数据库原理与应用(微课版)》全套教学课件_第2页
《MySQL数据库原理与应用(微课版)》全套教学课件_第3页
《MySQL数据库原理与应用(微课版)》全套教学课件_第4页
《MySQL数据库原理与应用(微课版)》全套教学课件_第5页
已阅读5页,还剩466页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

graduationthesisdefense数据库基础本章概述

主要内容

本章学习目标

全套可编辑PPT课件ch01数据库基础ch02初识MySQLch03MySQL图形化管理工具ch04数据库操作ch05数据表操作ch06数据记录操作ch07数据查询ch08MySQL函数ch09运算符ch10视图ch11存储程序ch12触发器ch13MySQL权限与安全管理ch14数据备份与恢复ch15MySQL日志ch16性能优化ch17综合项目本章概述本章主要介绍数据库的相关概念,主要包括数据库技术的发展、数据库系统的组成、数据模型的概念与规范、结构化查询语言SQL、数据库的体系结构、E-R图的设计方法,以及数据库设计。通过本章的学习,读者可以对数据库基础知识有一个概括性的认识,并对数据库设计步骤有大致的了解。本章学习目标了解数据库技术的发展阶段,数据库系统的组成,数据模型与规范化,结构化查询语言SQL;熟记数据库的体系结构,内容包括数据库三级模式结构、三级模式之间的映射;

掌握E-R图的概念及设计,内容包括实体、属性、关系的概念,以及E-R图设计原则;

掌握数据库设计的步骤与方法,内容包括为实体建立数据表、为表建立主键和外键、为字段选择合适的数据类型、定义约束条件。0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录PART01数据库技术的发展;数据库系统的组成;数据模型与规范化;结构化查询语言SQL。数据库概述数据库技术的发展20世纪50年代后期到20世纪60年代中期,硬件设备和软件技术都有了进一步发展,大容量的磁盘等辅助存储设备的出现,使得专门管理辅助设备上的数据的文件系统应运而生。本阶段的特点是:数据可以长期保留;数据不属于某个特定应用;文件组织形式的多样化。缺点是:数据冗余、数据不一致性、数据孤立。20世纪50年代中期以前,计算机主要用于科学计算。本阶段的特点是:数据量较少;数据不保存;没有软件系统对数据进行管理。人工管理阶段文件系统阶段20世纪60年代后期以来,计算机应用于管理系统,出现了数据库系统来统一管理数据。本阶段的特点是:采用复杂的数据模型表示数据结构;有较高的数据独立性。数据库系统阶段数据库系统的组成用户存储数据的集合,包括逻辑结构和物理结构。数据库管理系统负责数据库设计和维护。进行数据查询和操作。包括用户界面和业务逻辑。数据库数据库管理员应用系统用于数据定义、数据操作和数据控制的系统。数据模型与规范化-数据模型的概念数据模型(DataModel)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三部分,分别是数据结构、数据操作和数据约束。数据模型与规范化-不同应用层次的数据模型概念数据模型是一种面向用户、面向客观世界的模型,主要用来描述世界的概念化结构,它是数据库的设计人员在设计的初始阶段。逻辑数据模型是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型,如层次数据模型、网状数据模型、关系数据模型。物理数据模型是一种面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。据模型与规范化-常见的逻辑数据模型层次模型将数据组织成一对多关系的结构,用树形结构表示实体及实体间的联系。网状模型用有向图结构表示实体类型及实体间联系的数据模型被称为网状模型,是具有多对多类型的数据组织方式。关系模型关系模型以二维表来描述数据。在关系模型中,每个表都有多个字段列和记录行,而每个字段列都有固定的属性(数字、字符、日期等)。关系数据库规范化第二范式是在第一范式的基础上建立起来的,即满足第二范式必先满足第一范式。第二范式要求数据库表中的每个实体(即各个记录行)必须可以被唯一地区分。第三范式是在第二范式的基础上建立起来的,即满足第三范式必先满足第二范式。第三范式要求关系表不存在非关键字列对任意候选关键字列的传递函数依赖。第三范式第一范式第一范式是指在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。这是最基本的范式。第二范式数据模型与规范化-关系数据库设计原则数据库内数据文件的数据组织应获得最大限度的共享、最小的冗余度,消除数据及数据依赖关系中的冗余部分,使依赖于同一个数据模型的数据达到有效的分离。保证输入、修改数据时数据的一致性与正确性。保证数据与使用数据的应用程序之间的高度独立性。结构化查询语言SQL结构化查询语言(StructuredQueryLanguage,SQL)是一种应用于关系数据库查询的结构化语言,最早是由Boyce和Chamberlin在1974年提出的,称为SEQUEL语言。SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制4个部分。SQL语言简洁、方便、实用,为完成其核心功能只用了6个动词——SELECT、CREATE、INSERT、UPDATE、DELETE和GRANT(REVOKE)。甲骨文公司的Oracle数据库所使用的SQL语言是ProceduralLanguage/SQL(简称PL/SQL),而微软公司的SQLServer数据库系统支持的是Transact-SQL(简称T-SQL)。MySQL也对SQL标准进行了扩展,只是至今没有命名。0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录PART02数据库三级模式;三级模式之间的映射。数据库的体系结构数据库三级模式模式也被称为逻辑模式或概念模式。它是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图。一个数据库只有一个模式。内模式也被称为存储模式。它是数据物理结构和存储方式的描述,也是数据在数据库内部的表示方式。一个数据库只有一个内模式。内模式外模式外模式也被称为用户模式。它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,也是数据库用户的数据视图。模式三级模式之间的映射外模式/模式映射模式/内模式映射同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式发生改变时,由数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。保证了数据与程序的逻辑独立性。数据库中只有一个模式和一个内模式,因此模式/内模式映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射进行相应的改变,以保持模式不变,应用程序也会相应地发生变动。保证了数据与程序的物理独立性。为了能够在内部实现数据库的3个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映射,分别为外模式/模式映射和模式/内模式映射。0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录PART03E-R图(Entity-RelationshipDiagram)也称“实体—关系图”,用于描述现实世界的事物,以及事物与事物之间的关系。其中E表示实体,R表示关系。它提供了表示实体类型、属性和关系的方法。E-R图E-R图的概念实体属性实体所具有的性质或特征。关系实体之间的联系。E-R图中表示现实世界中的对象或概念。E-R图设计原则在设计E-R图时,应尽量简化设计,避免信息冗余。简化设计,避免冗余E-R图设计应准确描述实体及其相互关系。准确描述实体和关系0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录PART04为实体建立数据表;为表建立主键和外键;为字段选择合适的数据类型;定义约束条件。数据库设计数据库设计步骤需求分析创建概念模型,描述数据的逻辑结构。逻辑设计将概念模型转换为逻辑模型,为数据库管理系统准备。物理设计概念设计收集和分析用户需求,确定数据库设计的方向。根据逻辑模型,设计数据库的物理存储结构。数据库设计方法为数据表设置主键和外键,确保数据的完整性和关联性。定义数据表的约束条件,保证数据的正确性和一致性。为表建立主键和外键根据实体关系,为每个实体建立相应的数据表。为实体建立数据表为字段选择合适的数据类型定义约束条件根据字段的数据特性,选择合适的数据类型。0501020304E-R图数据模型的体系结构本章小结数据库概述数据库设计目录PART05本章主要介绍的是数据库技术基础知识,首先概括性介绍了数据库,包括数据库技术的发展、数据库系统的组成、数据模型与规范化、结构化查询语言SQL;然后介绍数据库体系结构,包括数据库三级模式(外模式、模式、内模式)和两级映射(外模式/模式映射和模式/内模式映射);接着介绍E-R图的绘制;最后介绍了数据库设计过程。本章小结数据库技术的重要性关系模型的主流地位数据管理的基础数据模型的核心地位E-R图设计是数据库设计的重要工具。数据模型是数据库设计的核心。E-R图设计的重要性数据库技术是数据管理的基础。关系模型是目前主流的数据库数据模型。数据库设计的步骤和方法数据库设计需要遵循一定的步骤和方法。谢谢观看第2章初识MySQL本章概述MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点。本章学习目标了解MySQL的概念、发展史、特性、优势和应用环境;掌握Windows平台下MySQL的安装与配置;

掌握Linux平台下MySQL的安装和配置;

掌握MySQL服务的启动与停止;掌握Path变量的配置;熟悉MySQL命令窗口的实用;了解如何学好MySQL。目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQLLinux平台下安装和配置MyLSQL如何学好MySQLMySQL概述目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQLLinux平台下安装和配置MyLSQL如何学好MySQLMySQL概述01MySQL概述01MySQL是由瑞典的MySQL

AB公司开发的,该公司于1995年建立,目前属于Oracle公司。MySQL的符号是一只名为Sakila的海豚,代表着MySQL数据库和团队的速度、能力、精确和优秀本质。MySQL的起源可以追溯到1995年,当时瑞典开发者Michael

Widenius和David

Axmark开始创建一个名为MySQL的轻量级数据库系统。最初,MySQL仅仅是一个小型的、仅支持少量数据类型和表的数据库,但它具有高度的可靠性和性能优势,很快就在Linux和其他UNIX操作系统上得到了广泛的应用。在接下来的几年里,MySQL不断改进并扩展其功能。逐渐成为Web应用程序的主流数据库之一。今天,MySQL已经成为Web应用程序和企业应用的主流数据库之一,它在全球拥有数百万的用户和开发者,支持各种语言和平台。MySQL的发展史01MySQL概述2MySQL的优势作为一款自由软件,MySQL允许任何人从官方网站下载。它是一个真正的多用户、多线程SQL数据库服务器,能够快捷、有效和安全地处理大量数据,被广泛地应用于Internet上的中小型网站中。01MySQL概述03MySQL的应用环境目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。01MySQL概述04(1)性能:MySQL

8.0的速度要比MySQL

5.7快2倍。(2)NoSQL:从MySQL5.7开始,提供NoSQL存储功能,在MySQL8.0中这部分功能得到了更大的改进。(3)窗口函数(windowfunction):从MySQL8.0开始,新增了窗口函数,可以用来实现若干种新的查询方式。(4)隐藏索引:在MySQL8.0中,索引可以被隐藏或被显示。当索引被隐藏后,它将不会被查询优化器使用。(5)降序索引:MySQL8.0为索引提供了按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。(6)通用表表达式(commontableexpressions,CTE):在复杂的查询中使用嵌入式表时,使用CTE使得查询语句更清晰。(7)UTF-8编码:从MySQL8.0开始,使用utf8mb4作为默认字符集。(8)JSON:MySQL8.0大幅改进了对JSON的支持,添加了基于路径查询参数从JSON字段中抽取数据的JSON_EXTRACT()函数,以及用于将数据分别组合到JSON数组和对象中的JSON_ARRAYAGG()和JSON_OBJECTAGG()聚合函数。(9)可靠性:InnoDB现在支持表DDL的原子性,也就是InnoDB表上的DDL也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现部分成功的问题。(10)高可用性(highavailability):InnoDB集群为数据库提供了集成的原生HA解决方案。(11)安全性:OpenSSL改进、新的默认身份验证、SQL角色、密码强度、授权。MySQL8的新特性目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQLLinux平台下安装和配置MyLSQL如何学好MySQLMySQL概述02Windows平台下安装与配置MySQL可以通过访问MySQL官方网站下载MySQL安装包。下载页面提供了多种版本的MySQLCommunityServer,用户需要根据自己的操作系统选择相应的版本进行下载。下载完成后,将得到一个包含安装文件的压缩包。MySQL服务器安装包的下载安装过程包括启动安装向导、选择安装类型、安装插件、配置服务器、设置网络和安全选项、配置用户账户和角色、配置Windows服务以及应用配置等步骤。安装完成后,可以通过ProductConfiguration界面进行进一步的配置。MySQL服务器的安装目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQLLinux平台下安装和配置MyLSQL如何学好MySQLMySQL概述03启动服务并登录MySQL数据库(1)右击“计算机”图标,在弹出的快捷菜单中选择“属性”命令,在弹出的“系统”对话框中单击“高级系统设置”弹出“系统属性”对话框。(2)在“系统属性”对话框中,选择“高级”选项卡,单击“环境变量”按钮,弹出“环境变量”对话框。(3)在“环境变量”对话框中,选择“系统变量”中的Path选项,单击“编辑”按钮,弹出“编辑环境变量”对话框。(4)在“编辑环境变量”对话框中,将MySQL服务器的bin文件夹位置(C:\ProgramFiles\MySQL\MySQLServer8.0\bin)添加到“变量值”文本框中,如图所示。配置Path变量03启动服务并登录MySQL数据库启动和停止MySQL(1)通过系统服务启动、停止MySQL服务器。如果MySQL被设置为Windows服务,则可以通过选择“开始”→“控制面板”→“系统和安全”→“管理工具”→“服务”命令打开Windows服务管理器。(2)在命令提示符下启动、停止MySQL服务器:net

start

MySQL8003启动服务并登录MySQL数据库连接和断开MySQL连接MySQL服务器可以通过mysql命令实现,需要指定用户名、主机地址、端口和密码。连接后,可以通过exit或quit命令断开与MySQL服务器的连接。连接到MySQL服务器后,可以通过在MySQL提示符下输入exit或者quit命令断开与MySQL服务器的连接。03启动服务并登录MySQL数据库打开MySQL8.0CommandLineClient安装完成后,可以通过开始菜单打开MySQL8.0CommandLineClient程序,并使用root用户登录MySQL服务器,开始数据库操作。目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQL如何学好MySQLMySQL概述Linux平台下安装和配置MySQLLinux平台下安装和配置MySQL在基于Debian的Linux发行版上,可以使用apt-get命令更新源并安装MySQL服务。安装后,可以通过systemctl命令检查MySQL服务的状态。在Linux平台上,可以通过官网下载MySQL的安装包,或者使用apt包管理器进行安装。下载后,需要按依赖顺序安装.deb文件,或者使用dpkg命令和apt-get解决依赖问题。安装完成后,可以通过服务命令检查MySQL服务状态。下载安装MySQL通过apt安装MySQL服务目录0102050304启动服务并登录MySQL数据库Windows平台下安装与配置MySQL如何学好MySQLMySQL概述Linux平台下安装和配置MySQL如何学好MySQL010302多上机实践在掌握实践技能的同时,也不能忽视数据库理论知识的学习,这对于深入理解数据库的工作原理和优化数据库性能至关重要。多编写SQL语句编写SQL语句是数据库管理的核心技能之一,通过不断编写和优化SQL语句,可以提高数据库操作的效率和准确性。学习MySQL的过程中,应该多进行上机实践,通过实际操作来加深对数据库操作的理解和记忆。数据库理论知识不能丢本章小结本章内容回顾本章主要介绍了MySQL的发展史、优势、应用环境和目前最新版本MySQL8的新特性;接着重点介绍了Windows操作系统下MySQL的安装过程,Path环境变量配置,MySQL服务的启动和停止操作,MySQL服务器的连接与断开操作;简单介绍了Linux系统下MySQL软件的安装;最后提供了一些学好MySQL的小技巧。谢谢观看第3章

MySQL图形化管理工具本章概述图形化管理工具介绍MySQL的管理维护工具非常多,除了系统自带的命令行管理工具,还有许多其他的图形化管理工具,常用的有phpMyAdmin、Navicat、SQLyog、MySQLWorkbench等。这些第三方图形化工具更加方便MySQL的管理。本章学习目标学习目标了解常用的MySQL图形化管理工具;重点掌握phpMyAdmin、Navicat的使用。目录01020304NavicatphpMyAdmin本章小结MySQL图形化管理工具概述目录01020304NavicatphpMyAdmin本章小结MySQL图形化管理工具概述MySQL图形化管理工具概述NavicatMySQLDumperMySQL

ODBC

ConnectorSQLyogphpMyAdminMySQL

Workbench目录01020304NavicatphpMyAdmin本章小结MySQL图形化管理工具概述phpMyAdmin3.2.1phpMyAdmin简介phpMyAdmin的使用不用安装客户端,通过浏览器就能访问使用。它是众多MySQL图形化管理工具中应用最广泛的一种,是一款使用PHP开发的B/S模式的MySQL客户端软件。此外,它还是基于Web跨平台的管理程序,并且支持简体中文。用户可以在其官方网站()上免费下载最新版本。phpMyAdmin应用phpMyAdmin图形化管理工具,必须在本机中搭建PHP运行环境,将其作为一个项目在PHP开发环境中运行应用。phpstudy的下载地址为/download.html,选择最新版的phpstudy进行下载和安装。3.2.2phpstudy安装phpMyAdmin单击phpstudy页面左侧的“软件管理”,找到phpMyAdmin,单击其右侧的“安装”按钮,弹出一个“选择站点”提示框,选中“选择”复选框,选择默认站点,然后单击“确认”按钮,开始安装。3.2.3下载phpMyAdminphpMyAdmin在phpMyAdmin中单击“新建”按钮,输入数据库的名称db_test,选择编码utf8_general_ci,单击“创建”按钮,即可创建数据库。创建数据库phpMyAdmin创建数据库db_test后,单击数据库名称,然后单击【操作】按钮,可在该页面中对当前数据库进行修改、复制、删除操作,还可以为该数据库新建数据表。修改和删除数据库phpMyAdmin创建数据表修改数据表删除数据表3.2.6管理数据表插入数据记录修改数据记录删除数据记录浏览数据搜索数据3.2.7管理数据记录目录01020304NavicatphpMyAdmin本章小结MySQL图形化管理工具概述NavicatNavicat是一套快速、可靠的数据库管理工具,专为简化数据库管理和降低系统管理成本而开发。Navicat使用可视化图形用户界面,让用户能够以安全、简单的方式创建、组织、访问数据库。Navicat适用于3种平台:MicrosoftWindows、MacOSX及Linux。Navicat支持中文,可免费下载,下载地址:/products。Navicat简介NavicatNavicat下载、Navicat安装、服务器连接、创建数据库、新建数据表、添加数据记录、导出/导入数据、“工具”菜单。Navicat操作目录01020304NavicatphpMyAdmin本章小结MySQL图形化管理工具概述本章小结通过图形化管理工具可以更方便的对数据库进行管理和访问。本章主要重点介绍了两款主流的MySQL图形化管理工具:使用PHP开发的phpMyAdmin和客户端管理软件Navicat。介绍phpMyAdmin过程中,使用到了集成开发工具phpstudy。其他图形化管理工具的操作类似,读者重点学习这两款图形化工具后,可以自行探索其他可视化管理工具的使用操作。谢谢观看汇报人:秒出PPT第4章

数据库操作本章概述启动并连接MySQL服务器后,即可对MySQL数据库进行操作。操作数据库的方式有两种:通过命令行实现和通过图形化管理软件实现。本章将详细介绍数据库的创建、查看、选择、修改和删除操作。本章学习目标了解关系型数据库的基础知识;掌握MySQL数据库的创建、查看、选择、修改和删除操作;了解存储引擎的作用,MySQL支持的存储引擎,包括InnoDB、MyISAM、MEMORY;了解如何选择存储引擎,如何设置存储引擎。目录01020304存储引擎操作数据库本章小结关系数据库基础目录01020304存储引擎操作数据库本章小结关系数据库基础关系数据库基础4.1.1关系数据库基础知识关系数据库是支持关系模型的数据库。关系模型由关系数据结构、关系操作集合和完整性约束3个部分组成。MySQL是一种关系数据库管理软件看,是位于用户与数据库之间的一层管理软件,主要负责数据库中的数据组织、数据操纵、数据维护和数据服务等。关系数据库基础4.1.2数据库常用对象在MySQL的数据库中,表、字段、索引、视图和存储过程等具体存储数据或对数据进行操作的实体都被称为数据库对象。表:存储数据,行和列组成。字段:列;有自己的属性,如字段类型、字段大小等。索引:依赖表建立,加速数据查询速度。视图:依赖表而建,方便数据查看。存储过程:SQL语句集合,可以把CURD操作封装成存储过程,方便调用。关系数据库基础4.1.3系统数据库系统数据库是指安装完MySQL服务器后,系统自动建立的一些数据库。例如,在默认安装的MySQL服务器中,系统会默认创建如图4-1所示的4个数据库。目录01020304存储引擎操作数据库本章小结关系数据库基础操作数据库4.2.1创建数据库使用CREATEDATABASE语句和CREATESCHEMA语句创建MySQL数据库,其语法如下。CREATE{DATABASE|SCHEMA}[IFNOTEXISTS]数据库名[[DEFAULT]CHARACTERSET[=]字符集|[DEFAULT]COLLATE[=]校对规则名称];操作数据库4.2.2查看数据库使用SHOWDATABASES语句查看数据库。操作数据库4.2.3选择数据库操作数据库之前,需要先选择使用哪个数据库。操作数据库4.2.4修改数据库修改数据库可以使用ALTERDATABASE或者ALTERSCHEMA语句来实现。ALTERDATABASEdb_libraryDEFAULTCHARACTERSETgbkDEFAULTCOLLATEgbk_chinese_ci;操作数据库4.2.5删除数据库DROPDATABASE或者DROPSCHEMA语句删除数据库。目录01020304存储引擎操作数据库本章小结关系数据库基础NavicatMySQL中的数据是用各种不同的技术存储在文件(或者内存)中的。每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的、不同的功能。通过选择不同的技术,开发人员可以获得额外的速度或者功能,从而改善应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也被称为表类型)。MySQL默认配置了许多不同的存储引擎,这些引擎可以预先设置或者在MySQL服务器中启用。4.3.1MySQL存储引擎的概念Navicat使用SHOWENGINES语句查询MySQL中支持的存储引擎:SHOWENGINES;4.3.2MySQL支持的存储引擎Navicat查看当前MySQL服务器所采用的默认存储引擎,可以执行SHOWVARIABLES命令。4.3.2MySQL支持的存储引擎NavicatInnoDB给MySQL的表提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全:第一个提供外键约束的表引擎;支持自动增长列AUTO_INCREMENT;支持外键(FOREIGNKEY);提供了良好的事务管理、崩溃修复能力和并发控制。4.3.3InnoDB存储引擎NavicatMyISAM存储引擎是MySQL中常见的存储引擎。MySQL5.5版本下的MyISAM存储引擎的表被存储成3种文件。文件的名字与表名相同,扩展名包括.frm、.MYD和.MYI。基于MyISAM存储引擎的表支持3种不同的存储格式,包括静态、动态和压缩。4.3.4MyISAM存储引擎Navicat每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm。MEMORY存储引擎默认使用哈希(HASH)索引。创建MySQLMEMORY存储引擎的出发点是速度,如果重启机器或者关机,表中的所有数据消失。4.3.5MEMORY存储引擎Navicat(1)InnoDB存储引擎:用于事务处理应用程序,具有众多特性,包括支持ACID事务、外键、崩溃修复能力和并发控制。(2)MyISAM存储引擎:管理非事务表,它提供高速存储和检索,以及全文搜索能力。(3)MEMORY存储引擎:MEMORY存储引擎提供“内存中”的表,其所有数据都在内存中,数据的处理速度快,但安全性不高。4.3.6如何选择存储引擎Navicat4.3.7设置存储引擎目录01020304存储引擎操作数据库本章小结关系数据库基础本章小结本章首先介绍了关系数据库的基本概念、数据库的常用对象,以及MySQL中的系统数据库,然后介绍了创建数据库、查看数据库、选择数据库、修改数据库和删除数据库的方法。其中,创建数据库、选择数据库和删除数据库在实际开发中经常被使用,需要重点掌握它们。接着,对MySQL存储引擎进行了详细的讲解,语法格式讲解和示例结合,帮助读者更好地理解所学知识的用法。读者应该重点掌握在实际创建数据库时如何正确选择存储引擎。谢谢观看汇报人:秒出PPT第5章

数据表操作本章概述在数据库中,针对数据表对象的操作有,创建数据表、查看表结构、修改表结构、重命名数据表、复制数据表和删除数据表。在创建数据表时,需要为表字段设置所存储数据的类型、约束,还可以为数据表对象设置索引,以提高数据表检索效率。本章学习目标掌握数据表操作,包括创建数据表、查看表结构、修改表结构、重命名数据表、复制数据表和删除数据表。熟悉数据类型并能够为字段选择恰当的数据类型。重点掌握数字类型、字符串类型、日期时间类型。掌握表约束操作,能够恰当地为数据表设置表约束。掌握索引操作,能够对数据表设置合适的索引,以提高数据检索效率。目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结关系数据库基础5.1.1创建数据表创建数据表,使用CREATETABLE语句,语法如下。CREATE[TEMPORARY]TABLE[IFNOTEXISTS]数据表名[(create_definition,…)][table_options][select_statement]关系数据库基础5.1.2查看数据表使用SHOWCOLUMNS语句查看数据表结构:SHOW[FULL]COLUMNSFROM数据表名[FROM数据库名];或SHOW[FULL]COLUMNSFROM数据表名.数据库名;关系数据库基础5.1.3复制数据表在一个已经存在的数据表的基础上创建该表的备份:CREATETABLE[IFNOTEXISTS]数据表名{LIKE源数据表名|(LIKE源数据表名)}关系数据库基础5.1.4修改表结构可以使用ALTERTABLE语句来实现,语法格式如下。ALTER[IGNORE]TABLE数据表名alter_spec[,alter_spec]…|table_options关系数据库基础5.1.5重命名数据表重命名数据表可以使用RENAMETABLE语句来实现:RENAMETABLE数据表名1To数据表名2例如:RENAMETABLEtb_admin_oldTOtb_admin_old1;关系数据库基础5.1.6删除数据表使用DROPTABLE语句即可删除数据表:DROPTABLE[IFEXISTS]数据表名;目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结数据类型5.2.1数字类型:数字类型总体可以分成整数和浮点两种数据类型。整数类型:数据类型取值范围说明单位TINYINT符号值:-128~127,无符号值:0~255最小的整数1字节BIT符号值:-128~127,无符号值:0~255最小的整数1字节BOOL符号值:-128~127,无符号值:0~255最小的整数1字节SMALLINT符号值:-3276832767无符号值:0~65535小型整数2字节MEDIUMINT符号值:-8388608~8388607无符号值:0~16777215中型整数3字节INT符号值:-2147683648~2147683647无符号值:0~4294967295标准整数4字节BIGINT符号值:-9223372036854775808~9223372036854775807无符号值:0~18446744073709551615大型整数8字节数据类型5.2.1数字类型:数字类型总体可以分成整数和浮点两种数据类型。浮点类型:数据类型取值范围说明单位FLOAT+(-)3.402823466E+38单精度浮点数8或4字节DOUBLE+(-)1.7976931348623157E+308双精度浮点数8字节DECIMAL+(-)2.2250738585072014E-308一般整数自定义长度数据类型5.2.2字符串类型字符串类型包括3类:普通文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)。数据类型5.2.2字符串类型普通文本字符串类型(CHAR和VARCHAR)数据类型取值范围说明NationalCHAR(M)[binary|ASCII|unicode]0~255个字符固定长度为M的字符串,其中M的取值范围为0~255。national关键字指定了应该使用的默认字符集。binary关键字指定了数据是否区分大小写(默认是区分大小写的)。ASCII关键字指定了在列中使用latin1字符。unicode关键字指定了使用UCS字符集CHAR1~255个字符与CHAR(M)类似[national]VARCHAR(M)[binary]0~255个字符长度可变,其他与CHAR(M)类似数据类型5.2.2字符串类型可变类型数据类型最大长度(字节数)说明TINYBLOB2^8-1(255)小BLOB字段TINYTEXT2^8-1(255)小TEXT字段BLOB2^16-1(65535)常规BLOB字段TEXT2^16-1(65535)常规TEXT字段MEDIUMBLOB2^24-1(16777215)中型BLOB字段MEDIUMTEXT2^24-1(16777215)中型TEXT字段LONGBLOB2^32-1(4294967295)长BLOB字段LONGTEXT2^32-1(4294967295)长TEXT字段数据类型5.2.2字符串类型特殊类型类型最大值说明ENUM("valuel","value2",...)65535该类型的列只可以容纳所列值之一或为NULLSET("valuel","value2",...)64该类型的列可以容纳一组值或为NULL数据类型5.2.3日期和时间类型日期和时间类型包括DATE、DATETIME、TIME、TIMESTAMP和YEAR。其中每种类型都有其取值范围,如赋予它一个不合法的值,将会被“0”代替。日期和时间类型如表所示。类型取值范围说明DATE1000-01-01~9999-12-31日期,格式为YYYY-MM-DDTIME-838:58:59~835:59:59时间,格式为HH:MM:SSDATETIME1000-01-0100:00:00~9999-12-3123:59:59日期和时间,格式为YYYY-MMDDHH:MM:SSTIMESTAMP1970-01-0100:00:00~2037年的某个时间时间标签,在处理报告时使用显示格式取决于M的值YEAR1901~2155年份可指定两位数字和四位数字的格式数据类型5.2.4如何选择类型整数和浮点数浮点数和定点数日期与时间类型CHAR与VARCHAR之间的特点与选择ENUM和SETBLOB和TEXT目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结表约束操作完整性约束条件是对字段进行限制的,要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统就不再执行用户的操作。MySQL中基本的完整性约束条件如表所示。类型取值范围PRIMARYKEY主键,可以唯一地标识对应的元组FOREIGNKEY外键,是与之联系的某表的主键NOTNULL字段值不能为空UNIQUE字段值唯一AUTOINCREMENT字段取值自动增加,这是MySOL特色DEFAULT设置默认值表约束操作当数据库表中的某个字段上的内容不希望设置为NULL时,则可以使用非空(NOTNULL)约束进行设置。CREATETABLEtablename(PropNamepropTypeNOTNULL,……);设置表字段的非空约束表约束操作当向数据表中插入一条新记录时,如果没有为某个字段赋值,那么数据库系统会自动为这个字段插入默认值。CREATETABLEtablename(propNamepropTypeDEFAULTdefaultValue,……);设置表字段的默认值表约束操作当数据库表中某个字段上的内容不允许重复时,可以使用唯一(UNIQVE,UK)约束进行设置。CREATETABLEtablename(propNamepropTypeUNIQUE,……);设置表字段唯一约束(UNIQUE,UK)表约束操作当数据库表中某个字段上的内容不允许重复时,可以使用唯一(UNIQVE,UK)约束进行设置。CREATETABELtablename(propNamepropTypePRIMARYKEY,……);设置表字段的主键约束表约束操作AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当为数据库表中插入新记录时,字段上的值会自动生成唯一的ID。CREATETABLEtablename(propNamepropTypeAUTO_INCREMENT,……);设置表字段值自动增加表约束操作外键(FOREIGNKEY,FK)是表的一个特殊字段,外键约束用于保证多个表(通常为两个表)之间的参照完整性,即构建与两个表的字段之间的参照关系。CREATETABLEtablename_1(propName1_1propType1_1,propName1_2propType1_2,……CONSTRAINTFK_propFOREIGNKEY(propName1_1)REFERENCEStablename_2(propName2_1));设置表字段的外键约束目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结索引操作普通索引唯一性索引单列索引多列索引空间索引索引概述索引操作在建立数据表时可以直接创建索引,这种方式比较直接,且方便、易用。在建立数据表时创建索引的基本语法结构如下:CREATETABLEtable_name(属性名数据类型[约束条件],属性名数据类型[约束条件]…属性名数据类型[UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY[别名](属性名1[(长度)][ASC|DESC]));创建索引索引操作在MySQL中,不但可以在创建数据表时创建索引,也可以直接在已经创建的表中,在已经存在的一个或几个字段中创建索引。语法结构如下:CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEXindex_nameONtable_name(属性[(length)][ASC|DESC]);创建索引索引操作删除索引可以通过DROP语句来实现,语法结构如下:DROPINDEXindex_nameONtable_name;删除索引目录01020304表约束操作数据类型索引操作数据表基本操作05本章小结本章小结本章主要介绍了MySQL数据表和索引操作。首先介绍的是数据表的基本操作,包括创建数据表、查看表结构、修改表结构、重命名表、复制表和删除表等。然后介绍创建数据表时涉及的数据类型和表约束操作。常用的数据类型包括数字类型、字符串类型、日期和时间类型,并介绍了如何为字段选择合适的数据类型。在创建数据表时,还需要设置一系列的表约束,包括字段的非空约束、默认值、唯一约束、主键约束、自动增加约束、外键约束等。最后介绍了索引操作,包括索引的作用、创建索引和删除索引。数据表操作是建立数据库过程中最重要、最关键的一步,一定要重点掌握。谢谢观看汇报人:秒出PPT第6章

数据记录操作本章概述数据记录操作主要包括向表中插入数据记录、修改表中的数据记录以及删除表中的数据记录等。本章学习目标掌握向数据表中插入单条数据记录的方法;掌握批量插入多条数据记录的方法;掌握修改数据记录的方法;掌握使用DELETE语句删除数据记录的方法;掌握清空表中数据记录的方法。目录01020304删除表记录修改数据记录本章实践插入数据记录05本章小结目录01020304删除表记录修改数据记录本章实践插入数据记录05本章小结插入数据记录插入数据记录在建立一个空的数据库和数据表时,首先需要考虑的是如何向数据表中添加数据记录,该操作可以使用INSERT语句来完成。使用INSERT语句可以向一个已有数据表插入一条或者多条数据记录。下面将分别进行介绍。插入数据记录使用INSERT…VALUES语句插入数据记录使用INSERT…VALUES语句插入数据记录,是INSERT语句最常用的语法格式。它的语法格式如下:插入数据记录插入完整数据通过INSERT…VALUES语句可以实现向数据表中插入完整的数据记录。下面通过一个具体的实例来演示如何向数据表中插入完整的数据记录。插入数据记录插入数据记录的一部分字段通过INSERT…VALUES语句还可以向数据表中插入数据记录的一部分字段,也就是只插入一条记录中的某几个字段的值。插入数据记录插入多条记录通过INSERT…VALUES语句还可以实现一次性插入多条数据记录。使用该方法批量插入数据记录,比使用多条单行的INSERT语句的效率要高。插入数据记录使用INSERT…SELECT语句插入结果集在MySQL中,支持将查询结果插入到指定的数据表中,这可以通过INSERT…SELECT语句来实现。INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE][INTO]数据表名[(字段名,…)]SELECT…[ONDUPLICATEKEYUPDATE字段名=表达式,…]插入数据记录使用REPLACE语句插入新数据记录在插入数据记录时,还可以使用REPLACE插入新的数据记录。REPLACE语句与INSERTINTO语句类似,所不同的是:如果一个要插入数据记录的数据表中存在主键约束(PRIMARYKEY)或者唯一约束(UNIQUEKEY),而且要插入的数据记录中又包含与要插入数据记录的表中相同的主键约束或唯一约束列的值,那么使用INSERTINTO语句插入这条数据记录将失败,而使用REPLACE语句则可以成功插入,只不过会先将原数据表的冲突数据记录删除,然后再插入新的数据记录。目录01020304删除表记录修改数据记录本章实践插入数据记录05本章小结修改数据记录修改数据记录可以通过UPDATE语句实现,语法格式如下:UPDATE数据表名SETcolumn_name=new_value1,column_name2=new_value2,…WHERE条件表达式其中,SET子句指出要修改的列字段和字段值,WHERE子句是可选的,如果给出,那么它将指定数据表中哪行数据记录应该被更新,否则所有的数据记录行都将被更新。目录01020304删除表记录修改数据记录本章实践插入数据记录05本章小结删除表记录使用DELETE语句删除表记录使用TRUNCATE语句清空表记录目录删除表记录修改数据记录本章实践插入数据记录本章小结0102030405本章实践本节将通过图形化管理软件Nivacat,为上一章建立的图书管理系统的基本数据表录入一些测试数据。目录删除表记录修改数据记录本章实践插入数据记录本章小结0102030405本章小结本章主要介绍了对数据记录进行操作,主要包括向表中插入记录、修改表记录以及删除表记录。其中,在插入表数据记录时,共有4种实现方式,分别是插入单条数据记录、同时插入多条数据记录、以结果集方式插入数据记录,以及使用REPLACE语句插入新数据记录。在这4种方法中,最常用的是插入单条数据记录和插入多条数据记录,这两种插入数据记录的方式,需要重点掌握,灵活运用。在最后的本章实战中,通过使用NavicatforMySQL图形化软件,为数据表自动生成填充数据记录。使用这样的方法可以快速随机生成一批测试数据,用来测试用。由于数据是随机生成的,为了更使数据更真实,需要手动修改一下数据表中生成的数据记录。谢谢观看汇报人:秒出PPT第7章

数据查询本章概述数据查询是数据库操作中最常用也是最重要的操作,是指从数据库中获取所需要的数据。在MySQL中使用SELECT语句来查询数据。通过SELECT语句查询数据,有不同的查询方式。不同的查询方式可以获得不同的数据,开发人员可以根据需求选择不同的查询方式。本章学习目标掌握SELECT查询的语法结构,通过SELECT语句查询所有字段、指定字段和指定数据的操作;掌握按条件查询数据的方法;掌握常用的高级查询方式,例如,对查询结果排序、分组查询、使用LIMIT限制查询;掌握在查询过程中使用聚合函数进一步对查询结果进行加工;了解连接查询、子查询的操作,以及合并查询结果;掌握在查询过程中定义表和字段的别名;掌握常用的正则表达式在查询中的应用。目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09基本查询语句7.1.1SELECT语句SELECT语句是最常用的查询语句,它的使用方式有简单的,也有复杂的。SELECT语句的基本语法如下。SELECTselectionlist//要查询的内容,选择哪些列FROM数据表名//指定数据表WHEREprimary_constraint//查询时需要满足的条件,行必须满足的条件GROUPBYgrouping_columns//如何对结果进行分组ORDERBYsortingcloumns//如何对结果进行排序HAVINGsecondary_constraint//查询时满足的第二条件LIMITcount//限定输出的查询结果基本查询语句7.1.1SELECT语句-使用SELECT语句查询单个数据表使用SELECT语句从某个数据表查询数据时,首先要确定要查询的列。“*”代表所有的列。例如,查询db_library数据库的tb_admin表中的所有数据,代码如下。USEdb_library;SELECT*FROMtb_admin;查询结果如图所示。基本查询语句7.1.1SELECT语句-查询数据表中的指定列查询数据表中的多列,只要在SELECT后面指定要查询的列名即可,多列之间用“,”分隔。例如,查询tb_admin表中的admin_id和username列数据:SELECTadmin_id,usernameFROMtb_admin;查询结果如图所示。基本查询语句7.1.1SELECT语句-从一个或多个表中获取数据确定所要查询的数据在哪个表中,在对多个表进行查询时,同样使用“,”对多个表进行分隔。例如,从tb_book表和tb_category表中查询出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查询结果如图所示。基本查询语句7.1.2查询所有字段确定所要查询的数据在哪个表中,在对多个表进行查询时,同样使用“,”对多个表进行分隔。例如,从tb_book表和tb_category表中查询出tb_book.book_id、tb_book.bookname、tb_category.cat_name和tb_book.price字段的值:SELECTtb_book.book_id,tb_book.bookname,tb_category.cat_name,tb_book.pricefromtb_category,tb_bookWHEREtb_book.cat_id=tb_category.cat_id;查询结果如图所示。基本查询语句7.1.3查询指定字段查询指定字段的数据可以使用下面的语法格式:SELECT字段名FROM表名;如果查询多个字段,可以使用“,”对字段进行分隔。例如,查询图书信息表tb_book中图书的名称、作者、价格、图书唯一识别码:SELECTbookname,author,price,ISBNFROMtb_book;基本查询语句7.1.4查询指定数据如果要从很多记录中查询出指定的记录,则需要设定查询的条件。设定查询条件应用的是WHERE子句,该子句可以实现很多复杂的条件查询。例如,查询名称为Romero的管理员:SELECT*FROMtb_adminWHEREusername='Romero';目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09按条件查询7.2.1带关系运算符的查询带关系运算符的查询,也就是将MySQL支持的关系运算符引入数据库查询中。例如,从图书管理数据库db_library的图书信息表tb_book中,查询定价price大于40元的图书。语句如下:SELECTbookname,author,priceFROMtb_bookWHEREprice>40;按条件查询7.2.2带IN关键字的查询关键字IN可以判断某个字段的值是否在指定的集合中。如果字段的值在集合中,则满足查询条件,返回该字段所属记录;如果不在集合中,则不满足查询条件,不返回该记录。语法格式如下。SELECT*FROM表名WHERE条件[NOT]IN(元素1,元素2,…,元素n);例如:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthorIN('明日科技','刘丹冰');按条件查询7.2.3带BETWEENAND关键字的查询关键字BETWEENAND可以判断某个字段的值是否在指定的范围内。如果字段的值在指定范围内,则满足查询条件,该记录将被查询出来;如果不在指定范围内,则不满足查询条件。其语法如下。SELECT*FROM表名WHERE条件[NOT]BETWEEN取值1AND取值2;例如:SELECTbookname,author,priceFROMtb_bookWHEREpriceBETWEEN30AND40;按条件查询7.2.4空值查询ISNULL关键字可以用来判断字段的值是否为空值(NULL)。例如,为图书信息表tb_book添加test字段,然后插入若干数据值,语句如下:ALTERTABLEtb_bookADDtestVARCHAR(50)NULL;按条件查询7.2.5用关键字DISTINCT去除结果中的重复行使用DISTINCT关键字可以去除查询结果中的重复记录,语法格式如下。SELECTDISTINCT字段名FROM表名;例如,要查看tb_book表中有哪些书架上有书,语句如下:SELECTDISTINCTbookcaseFROMtb_book;按条件查询7.2.6带LIKE关键字的查询LIKE属于较常用的比较运算符,可用于实现模糊查询。它有两种通配符:“%”和下画线“_”。“%”可以匹配一个或多个字符,可以代表任意长度的字符串,长度可以为0。例如,“明%技”表示以“明”开头、以“技”结尾的任意长度的字符串。该字符串可以代表明日科技、明日编程科技、明日图书科技等字符串。“_”只匹配一个字符。例如,m_n表示以m开头、以n结尾的3个字符。中间的“_”可以是任意一个字符。按条件查询7.2.7带AND关键字的多条件查询AND关键字可以用来联合多个条件进行查询。使用AND关键字时,只有同时满足所有查询条件的记录才会被查询出来;如果不满足查询条件中的一个,那么这样的记录将被排除。AND关键字的语法格式如下。SELECT*FROM数据表名WHERE条件1AND条件2[…AND条件表达式n];判断输入的管理员账号和密码是否存在:SELECTbook_id,bookname,authorFROMtb_bookWHEREbooknameLIKE'%GO%'ANDauthor='刘丹冰';按条件查询7.2.8带OR关键字的多条件查询使用OR关键字时,只要满足查询条件中的一个,那么此记录就会被查询出来。例如,根据作者查询图书信息:SELECTbook_id,bookname,authorFROMtb_bookWHEREauthor='明日科技'ORauthor='刘丹冰';目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询097.3高级查询 使用ORDERBY关键字可以对查询的结果进行升序(ASC)或降序(DESC)排列。ORDERBY字段名[ASC|DESC];ASC表示按升序排列,DESC表示按降序排列。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESC;7.3.1对查询结果排序7.3高级查询 GROUPBY子句可以将数据划分到不同的组中,实现对记录进行分组查询。例如:使用GROUPBY关键字对tb_book表中bookcase字段进行分组查询,语句如下。SELECTbookcase,COUNT(*)FROMtb_bookGROUPBYbookcase;此外,还可以按多个字段进行分组。7.3.2分组查询7.3高级查询 LIMIT子句可以对查询结果的记录条数进行限定,控制输出的行数。例如:SELECTbook_id,bookname,priceFROMtb_bookORDERBYpriceDESCLIMIT3;7.3.3使用LIMIT限制查询结果数量目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09聚合函数查询返回选择集合中所有行的数目,包含NULL值的行:SELECTCOUNT(*)FROMtb_book;COUNT函数聚合函数查询SUM()函数可以求出表中某个数值类型字段取值的总和。例如:使用SUM()函数统计tb_book表中总金额字段(total)的总和,语句如下。SELECTSUM(total)FROMtb_book;SUM函数聚合函数查询AVG()函数可以求出表中某个数值类型字段取值的平均值。例如:使用AVG()函数求tb_book表中图书价格(price)字段值的平均值,语句如下。SELECTAVG(price)FROMtb_book;AVG函数聚合函数查询MAX()函数可以求出表中某个数值类型字段取值的最大值。例如,使用MAX()函数查询tb_book表中price字段值的最大值,语句如下。SELECTMAX(price)FROMtb_book;MAX函数聚合函数查询使用MIN()函数查询tb_book表中price字段值的最小值。查询语句如下。SELECTMIN(price)FROMtb_book;MIN函数目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09连接查询内连接(INNERJOIN)是SQL中的一种连接类型,用于将两个或多个表中的记录根据某个条件进行匹配,并返回匹配的记录。内连接可以分为几种类型:等值连接。在连接条件中使用等于号(=)运算符比较被连接列的列值。非等值连接。在连接条件中使用除等于运算符以外的其他比较运算符,如大于、小于等。自连接。将一张表看作两张表,通过别名区分,然后进行连接查询。内连接查询连接查询【例7-22】使用内连接查询图书的借阅信息。代码如下。SELECTtb_borrow.book_id,tb_book.bookname,tb_borrow.borrowTime,tb_borrow.backTime,tb_borrow.ifbackFROMtb_book,tb_borrowWHEREtb_borrow.book_id=tb_book.book_id;内连接查询连接查询外连接(OuterJoin)是一种SQLJOIN操作,它允许从一个表中选择所有的记录,而无论在另一个表中是否有匹配的记录。如果记录在另一个表中没有匹配,那么结果集中的值为NULL。在左外连接查询时,查询左表所有数据,以及两张表交集部分的数据。语法格式如下:SELECT字段列表FROM表1LEFTOUTERJOIN表2ON条件…;右外连接(RIGHTJOIN)和左外连接恰好相反。右外连接包括右边的所有数据,以及两张表交集部分数据。表中不符合条件的数据,在相应列中填充NULL值。外连接查询目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09子查询IN运算符可以检测结果集中是否存在某个特定的值,如果检测成功,则执行外部的查询。SELECTbook_id,bookname,authorFROMtb_bookWHEREbook_idIN(SELECTbook_idFROMtb_borrow);带IN关键字的子查询子查询从归还表tb_back中查询图书编号book_id等于1002的管理员(operator),然后查询tb_admin表中姓名username为该管理员的信息,代码如下。SELECT*FROMtb_adminWHEREusername=(SELECToperatorFROMtb_backWHEREbook_id=1002);带比较运算符的子查询子查询应用带EXISTS关键字的子查询实现查询已经被借阅的图书的信息,代码如下。SELECTbook_id,bookname,authorFROMtb_bookWHEREEXISTS(SELECT*FROMtb_borrowWHEREtb_borrow.book_id=tb_book.book_id);带EXISTS关键字的子查询子查询。使用ANY关键字时,只要满足内层查询语句返回的结果中的任意一个,就可以通过该条件来执行外层查询语句。语法格式如下。列名比较运算符ANY(子查询)例如,从图书信息表tb_book中查询出非最低价格的全部图书信息,主要是通过带ANY关键字的子查询实现查询非最低图书价格的图书信息,示例代码如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ANY(SELECTMin(price)FROMtb_book);带ANY关键字的子查询子查询使用ALL关键字时,只有满足内层查询语句返回的所有结果,才可以执行外层查询语句。语法格式如下。列名比较运算符ALL(子查询)例如,查询比图书编号1001价格高的全部图书信息,主要是通过带ALL关键字的子查询实现,示例代码如下。SELECTbook_id,bookname,author,priceFROMtb_bookWHEREprice>ALL(SELECTpriceFROMtb_bookWHEREbook_id=1001);带ALL关键字的子查询目录01020304高级查询按条件查询聚合函数查询基本查询语句05连接查询06子查询07合并查询结果定义表和字段的表明08使用正则表达式查询09合并查询结果使用UNION关键字可以将多个结果集合并到一起,并且会去除相同记录。假设有一个与归还表tb_back结构相同的数据表tb_back_copy1,查询结果如图所示。7.7.1使用UNION关键字合并查询结果下面使用UNION关键字合并两个表的查询结果,语句如下。SELECT*FROMtb_backUNIONSELECT*FROMtb_back_copy1;查询结果如图所示。结果显示,所有结果被合并,重复值被去除。7.7.1使用UNION关键字合并查询结果UNIONALL关键字的使用方法类似于UNION关键字,也是将多个结果集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论