配色: 字号:
《MySQL 8.0数据库管理与应用》第1章 MySQL基础
2023-05-25 | 阅:  转:  |  分享 
  
第1章 MySQL基础1.1.1 数据库数据库是按照数据结构来组织、存储和管理数据的的仓库,数据库建立在计算机的存储设备上。在日常工作中
,经常需要把一些相关的数据放进这样的“仓库”中,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门通常会把本单位职工的
基本情况(职工号、姓名、出生日期、性别、籍贯、工资、简历等)存放在一张表中,这张表就可以看成是一个数据库。有了这个“数据仓库”,便
可以根据需要随时查询某个职工的基本情况,也可以查询工资收入在某个范围内的职工人数等。这些工作都能够在计算机上自动进行,人事管理的工
作效率得到了极大提高。严格地说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织和储存
在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性等特点,并且可以在一定范围内为多个用户共享。这种数据集合具有如下特点:尽可
能不重复,以最优方式为某个特定组织的多种应用程序提供服务,其数据结构独立于使用它的应用程序,对数据的添加、删除、修改和查询等操作通
过软件进行统一管理和控制。1.1 数据库基本概念1.1.2 关系型数据库关系型数据库是建立在关系模型基础上的数据库,它借助于集
合代数等数学概念和方法来处理数据库中的数据。关系模型是在上世纪70年代提出来的,直到今天它仍然是数据存储的标准。关系模型由关系数据
结构、关系操作集合、关系完整性约束3个部分组成。现实世界中的各种实体以及实体之间的各种联系都可以使用关系模型来表示。简言之,关系模
型就是指二维表模型,一个关系型数据库就是由二维表及其之间的联系所组成的数据组织。在关系模型中,关系可以理解为一张二维表,每个关系都
具有一个名称,即表名。二维表中的行在数据库术语中通常称为记录或元组;二维表中的列称为字段或属性;字段的取值范围称为域,也就是字段的
取值限制;一组可以唯一标识记录的字段称为关键字,称为主键,主键可以由一个或多个字段组成;关系模式是指对关系的描述,其格式为“表名(
字段1, 字段2, ... , 字段n)”,称为表结构。在关系型数据库中,通过在不同表之间创建关系可以将某个表中的字段链接到另一个
表中的字段,从而防止出现数据冗余。1.1 数据库基本概念1.1.3 数据库管理系统数据库管理系统(DBMS)是一种管理数据库的
软件,可以用于创建、使用和维护数据库。DBMS对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据
库中的数据,数据库管理员(DBA)通过DBMS进行数据库的维护工作。DBMS可以使多个应用程序和用户使用不同方法来创建、修改和查询
数据库。大部分DBMS提供数据定义语言(DDL)和数据操作语言(DML),允许用户定义数据库的模式结构和权限约束,实现添加数据、修
改数据、删除数据和查询数据等操作。目前,比较流行的数据库管理系统有:Oracle、MySQL、SQL Server、Postgre
SQL、DB2、Sybase、Access、SQLite、MarialDB、Visual FoxPro以及Informix等。1.
1 数据库基本概念1.1.4 数据库系统数据库系统(DBS)通常由软件、数据库和数据库管理员组成,其中软件主要包括操作系统、各
种宿主语言、实用程序以及数据库管理系统。数据库通过数据库管理系统进行统一管理,数据的添加、修改、删除和检索都要通过数据库管理系统来
实现。数据库管理员负责创建、监控和维护整个数据库,使数据能够被任何拥有使用权限的人有效使用。1.1 数据库基本概念1.1.5
结构化查询语言结构化查询语言(SQL,Structured Query Language)是一种关系型数据库操作语言,它具有数据查
询、数据定义、数据操作和数据控制功能,可以用于定义和管理数据库中的对象,也可以用于检索、插入、修改和删除关系型数据库中的数据。结构
化查询语言包含以下6个部分。数据查询语言(DQL):通过数据检索语句从表中获取数据。关键字SELECT是数据查询语句中使用最多的动
词,其他常用的关键字有WHERE,ORDER BY,GROUP BY以及HAVING。这些关键字也经常与其他类型的SQL语句一起使
用。数据操作语言(DML):也称为动作查询语言,用于添加、修改和删除表中的记录,在DML语句中使用的动词主要包括INSERT、UP
DATE和DELETE。事务处理语言(TPL):确保被DML语句影响的表的所有行及时得到更新,所使用的语句主要包括BEGIN TR
ANSACTION、COMMIT和ROLLBACK。数据控制语言(DCL):通过GRANT或REVOKE进行授权或撤销授权,确定单
个用户、角色和用户组对数据库对象的访问权限。数据定义语言(DDL):在数据库中创建新表或删除表,在表中创建索引等,也是动作查询的一
部分。在DDL语句中使用的动词主要包括CREATE、ALTER和DROP。指针控制语言(CCL):用于对表中的单独行进行操作。所用
语句包括DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT等。1.1 数据库基本概念1
.2.1 什么是MySQLMySQL是当今最受欢迎的开源SQL数据库管理系统,由Oracle公司开发、分发并提供技术支持。MyS
QL官方网站(http://www.mysql.com/)提供了有关MySQL软件的最新信息。MySQL是一种数据库管理系统MyS
QL是一种关系型数据库管理系统MySQL是一种开源软件MySQL数据库服务器非常快速、可靠、可扩展且易于使用MySQL服务器适用于
客户端/服务器或嵌入式系统有大量的共享MySQL软件可以使用1.2 MySQL概述1.2.2 MySQL的主要特点跨平台性真正
的多线程提供多种编程语言支持数据类型丰富安全性好处理大型数据库连接性好客户端和工具1.2 MySQL概述1.2.3 MySQL
的版本MySQL企业版(Enterprise Edition) MySQL企业版包括最全面的高级功能,管理工具和技术支持,可实现最
高级别的MySQL可扩展性,安全性,可靠性和正常运行时间。它降低了开发,部署和管理业务关键型MySQL应用程序的风险,成本和复杂性
。MySQL标准版(Standard Edition) MySQL标准版能够提供高性能和可扩展的联机事务处理(OLTP)应用程序。
该版本包括InnoDB,使其成为完全集成事务安全、符合ACID规则的数据库。此外,通过MySQL复制可以提供高性能和可伸缩的应用程
序。MySQL群集版(Cluster Carrier Grade Edition) MySQL群集是集线性可扩展性和高可用性于一体
的分布式数据库,它提供了内存中的实时访问,并在跨分区和分布式数据集之间保持事务一致性。它是为关键任务应用而设计的。MySQL社区版
(Community Edition) 该版本是世界上最流行的开源数据库的免费下载版本,它在GPL许可下提供,并由一个庞大而活跃的
开源开发人员社区提供支持。MySQL社区版可以在20多个平台和操作系统上使用,主要包括以下组成部分:SQL和NoSQL、MySQL
文档存储、事务性数据字典、可插拔的存储引擎体系结构(InnoDB、NDB、MyISAM等)、MySQL复制、MySQL组复制、My
SQL InnoDB群集、MySQL路由器、MySQL分区、存储过程、触发器、视图、性能架构、信息架构、MySQL连接器(ODBC
、JDBC、.NET等)、MySQL工作台。1.2 MySQL概述1.2.3 MySQL的版本MySQL企业版(Enterpr
ise Edition) MySQL企业版包括最全面的高级功能,管理工具和技术支持,可实现最高级别的MySQL可扩展性,安全性,可
靠性和正常运行时间。它降低了开发,部署和管理业务关键型MySQL应用程序的风险,成本和复杂性。MySQL标准版(Standard
Edition) MySQL标准版能够提供高性能和可扩展的联机事务处理(OLTP)应用程序。该版本包括InnoDB,使其成为完全集
成事务安全、符合ACID规则的数据库。此外,通过MySQL复制可以提供高性能和可伸缩的应用程序。MySQL群集版(Cluster
Carrier Grade Edition) MySQL群集是集线性可扩展性和高可用性于一体的分布式数据库,它提供了内存中的实时访
问,并在跨分区和分布式数据集之间保持事务一致性。它是为关键任务应用而设计的。MySQL社区版(Community Edition)
该版本是世界上最流行的开源数据库的免费下载版本,它在GPL许可下提供,并由一个庞大而活跃的开源开发人员社区提供支持。MySQL社
区版可以在20多个平台和操作系统上使用,主要包括以下组成部分:SQL和NoSQL、MySQL文档存储、事务性数据字典、可插拔的存储
引擎体系结构(InnoDB、NDB、MyISAM等)、MySQL复制、MySQL组复制、MySQL InnoDB群集、MySQL路
由器、MySQL分区、存储过程、触发器、视图、性能架构、信息架构、MySQL连接器(ODBC、JDBC、.NET等)、MySQL工
作台。1.2 MySQL概述1.2.4 MySQL 8.0的新特性数据字典原子DDL语句安全性角色支持密码管理控制FIPS模式
支持资源管理InnoDB增强功能默认字符集由latin1变为utf8mb4系统表全部换成事务型的InnoDB表参数修改持久化新增降
序索引1.2 MySQL概述1.3.1 MySQL的下载MySQL社区版8.0.16可以从MySQL官网上下载,其主要组件包括
MySQL服务器、MySQL Shell、MySQL Workbench、MySQL路由、各种MySQL连接器、MySQL示例数据
库以及MySQL文档等。所有这些组件都可以使用MySQL安装程序在安装向导提示下一次性完成。下载MySQL社区版8.0.16,需要
注册一个Oracle网络账户。登录到该账户之后,即可下载MySQL社区版8.0.16安装程序。具体的下载网址如下:https://
dev.mysql.com/downloads/windows/installer/8.0.html下载选项在具有联机连接的情况下
运行MySQL安装程序,请在上面的mysql-installer-web community-8.0.16.0.msi行中单击“D
ownload”按钮,安装程序文件名为mysql-installer web-community-8.0.16.0.msi。在没有
联机连接的情况下运行MySQL安装程序,请在下面的mysql-installer- community-8.0.16.0.msi行
中单击“Download”按钮,安装程序文件名为mysql-installer- ommunity-8.0.16.0.msi。1.
3 MySQL的下载和安装1.3.2 MySQL的安装在Window 10平台上安装MySQL社区版8.0.16的操作步骤运行
安装程序,接受软件许可协议。选择安装类型。选择“Developer Default”选项时,将安装开发MySQL应用程序所需的所有
产品。选择是否安装MySQL for Visual Studio组件。完成MySQL组件安装。配置MySQL产品:配置独立的MyS
QL服务器实例,配置服务器类型和连接性,配置身份认证方式,设置MySQL账户和角色,配置Windows服务选项,应用MySQL服务
器配置,完成MySQL服务器配置。配置MySQL路由,连接到MySQL服务器,通过运行SQL脚本来创建MySQL示例数据库。最终完
成所有MySQL产品的配置过程。 1.3 MySQL的下载和安装1.3.3 MySQL服务管理1. 图形界面方式使用Windo
ws服务管理工具对MySQL服务进行管理。按Win+R组合键,当弹出“运行”对话框时,在“打开”文本框中输入“services.m
sc”,在“服务”列表中选择“MySQL8.0”服务项,使用工具栏中的按钮可以启动、停止、暂停或重启所选的服务。2. 命令行方式启
动MySQL服务: net start MySQL80停止MySQL服务: net stop MySQL80安装MySQL服务(默
认服务名为MySQL): mysqld install <服务名>卸载MySQL服务: mysqld --remove 1.3
MySQL的下载和安装1.4.1 MySQL命令行工具1.4 MySQL程序介绍1.4.1 MySQL命令行工具命令行工具m
ysql的使用方法1. 调用mysql工具mysql -h -u -p
在“mysql>”提示符下输入一个SQL语句,并以“;”、“\g”或者“\G”结束,然后按回车键执行该语句。如果要退出mysql命
令行工具,可以执行quit或exit命令。2. mysql选项mysql命令行工具提供了许多选项,其中多数选项都有短格式和长格式,
这两种格式分别以“-”和“--”开头。如果选项后面还有参数,则使用短格式时直接跟参数,使用长格式时选项与参数用等号分隔。1.4
MySQL程序介绍1.4.1 MySQL命令行工具3. mysql命令mysql可以将发出的SQL语句发送到待执行的服务器,此外
还有一些命令mysql可以由mysql自己解释。要查看这些命令,在mysql>提示下输入“help”或“\h:”。4. 从文本文件
执行SQL语句也可以事先将要执行的SQL语句保存到一个脚本文件(.sql)中,然后通过mysql从该文件读取输入。为此首先创建一个
脚本文件script.sql并编写想要执行的语句,然后按以下方式调用mysql:mysql db_name < script.sq
l > output.tab执行脚本文件包含的批处理后,输出结果写入文件output.tab中。如果在文本文件中包含一个use d
b_name语句,则不需要在命令行中指定数据库名:mysql < script.sql如果正在运行mysql,可以使用source
或\.命令执行SQL脚本文件:mysql> source script.sql;mysql> \. script.sql;1.4
MySQL程序介绍1.4.2 MySQL工作台1. MySQL工作台的功能SQL开发;数据建模(设计);服务器管理;数据迁移;
MySQL企业支持。2. 运行MySQL工作台单击“开始”按钮,弹出“开始”菜单;然后展开“MySQL”文件夹,单击“MySQL
Workbench 8.0 CE”快捷方式。在“MySQL Connecions”下方单击“Local instance MySQ
L80”连接,以root账户连接到MySQL服务器。输入root账户的登录密码,然后单击“OK”按钮。如果想保存登录密码,可勾选“
Save password in vault”复选框。当连接到MySQL服务器后,将会显示MySQL工作台用户界面。3. 设置数据
库存储位置在数据库导航窗格底部击“Administration”选项,单击“Options File”,以设置MySQL配置文件。
在“Administration - Options File”窗格中,勾选“datadir”复选框,并在右侧输入或选择新的数据目
录的路径。单击“Administration - Options File”窗格底部的“Apply”按钮,将所作更改保存到MySQ
L配置文件中。在“Apply Changes to MySQL Configuration File”窗口右下角,单击“Apply
”按钮。将原数据目录中的所有内容复制到新设置的数据目录中。重启MySQL服务器,使新设置生效。1.4 MySQL程序介绍1.4.
3 其他MySQL图形管理工具1. Navicat for MySQLNavicat for MySQL是一套由PremiumS
oft公司出品的用于管理MySQL数据库的桌面应用程序。使用它能同时连接MySQL和MariaDB数据库,并与Amazon RDS
、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。它提
供了智能数据库设计器、简单的SQL编辑、无缝数据迁移以及多元化操作工具,为MySQL数据库管理、开发和维护提供了一款直观而强大的图
形界面。2. SQLYogSQLyog是Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。它提供了数据
库同步与数据库结构同步工具、数据库备份与还原功能,支持XML、HTML、CSV等多种格式数据的导入与导出,可以运行批量SQL脚本文件,在新版本中更是增加了强大的数据迁移。使用SQLyog可以通过网络来维护远端的MySQL数据库。3. MySQL GUI ToolsMySQL GUI Tools是一个可视化的MySQL数据库管理控制台。它提供了4个好用的图形化应用程序,即数据库设计工具、数据迁移工具、MySQL管理器以及查询浏览器,可以方便地进行数据库管理和数据查询。这些图形化管理工具可以大大提高数据库管理、备份、迁移和查询以及管理数据库实例效率,即使没有丰富的SQL语言基础的用户也可以应用自如。4. phpMyAdminphpMyAdmin是一个利用PHP编写的免费软件工具,旨在通过Web管理MySQL数据库。它为管理MySQL数据库提供了一个Web接口,可以在任何地方通过网页对远端的MySQL数据库进行管理,各种常用操作(管理数据库、表、列、关系、索引、用户以及权限等)既可以通过网页执行,同时也可以直接通过执行SQL语句的方式来实现。1.4 MySQL程序介绍
献花(0)
+1
(本文系大高老师首藏)