《MySQL数据库应用案例教程》全套教学课件_第1页
《MySQL数据库应用案例教程》全套教学课件_第2页
《MySQL数据库应用案例教程》全套教学课件_第3页
《MySQL数据库应用案例教程》全套教学课件_第4页
《MySQL数据库应用案例教程》全套教学课件_第5页
已阅读5页,还剩606页未读 继续免费阅读

下载本文档

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

文档简介

1数据库概述第章全套可编辑PPT课件第1章数据库概述.pptx第2章MySQL的安装与配置.pptx第3章数据库基本操作.pptx第4章存储引擎、数据类型和字符集.pptx第5章数据表基本操作.pptx第6章数据的插入、修改和删除操作.pptx第7章单表数据记录查询.pptx第8章多表数据记录查询.pptx第9章运算符.pptx第10章MySQL常用函数.pptx第11章索引.pptx第12章视图.pptx第13章存储过程和函数.pptx第14章触发器.pptx第15章MySQL日志管理.pptx第16章数据的备份与恢复.pptx第17章MySQL的权限与安全.pptx1.1数据库1631.1数据库1.1.1数据库的概念和作用数据库(Database)是指长期存储在计算机内,有组织的、可共享的数据集合。它可视为一个电子化的文件柜,用来存储电子文件,用户可以对文件中的数据进行查询、新增、更新、删除等操作。表1-1学生信息表学生姓名学生性别学生年龄所属班级小美女22大二3班小明男23大四2班小伟男20大一3班1.1数据库1.1.2数据库的特点实现了数据独立性1实现了数据共享2减少了数据冗余度3实现了数据的集中控制4维护了数据完整性5提高了数据的可恢复性6数据独立性包括物理独立性和逻辑独立性。数据冗余是指数据在存储器中不必要的重复存储。数据完整性是指数据的一致性、正确性、有效性和相容性。1.1数据库1.1.3数据模型数据模型的概念1数据模型的类型2数据模型(DataModel)是对现实世界数据的模拟和抽象,是数据库系统中用于提供信息表示和操作手段的形式构架。其主要作用是确定系统中数据的定义和格式,使人更容易理解,便于在数据库系统上实现。概念数据模型(ConceptualDataModel):主要用来描述现实世界数据的概念化结构。逻辑数据模型(LogixalDataModel):是用户在数据库中所看到的数据模型,反映的是系统设计人员对数据存储的观点,是对概念数据模型的进一步分解和细化,主要包括层次数据模型、网状数据模型和关系数据模型三种类型。物理数据模型(PhysicalDataModel):这是描述数据在存储介质上的组织结构的数据模型。1.1数据库1.1.3数据模型数据模型的三要素3①数据结构。数据结构是数据模型的基础,用于描述数据库对象的静态特征,包括数据的类型、内容、性质及数据之间的联系等。②数据操作。用于描述数据库对象的动态特征,包括在相应数据结构上的操作类型和操作方式,主要指查询、插入、删除和修改等操作。③数据完整性约束。数据完整性约束是一组完整性规则的集合,主要描述数据结构内数据间的语法、词义联系、数据之间的制约和依存关系,并且规定了数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。1.1数据库1.1.4数据库类型层次模型数据库1目前成熟地应用在数据库系统中的数据模型有:层次模型、网状模型和关系模型。它们之间的根本区别在于数据之间联系的表示方式不同,层次模型以“树结构”表示数据之间的联系,网状模型以“网结构”表示数据之间的联系,关系模型以“二维表”表示数据之间的联系。

层次模型是数据库系统最早使用的一种模型,它的数据结构就像是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列,如图1-1所示。图1-1层次模型图1.1数据库1.1.4数据库类型网状模型数据库2

网状模型以网状结构表示实体与实体之间的多种复杂联系,能够更为直接地描述现实客观世界。网中的每一个结点代表一个记录类型,结点之间的联系用链接指针来实现,如图1-2所示。图1-2网状模型图1.1数据库1.1.4数据库类型关系模型数据库3关系模型数据库的层次结构可以分为以下四级:数据库(Database)表(Table)记录(Record)字段(Field)1.1数据库1.1.4数据库类型关系模型数据库3图1-3所示为一个简单的关系模型。图1-3关系模型图讲授教师课程教师编号上课教室教师编号课程名称课程编号教师姓名教师性别所属系别1.1数据库1.1.4数据库类型关系模型数据库3将图转换成两张表,两张表之间通过教师编号进行关联,如表1-2和表1-3所示。教师编号姓

名性

别所属系101刘老师男数学系102王老师女文学系103赵老师男物理系课程编号课程名教师编号上课教室201高等代数101sx-01202文学史102wx-03203电磁学103wl-02表1-2教师表表1-3课程表1.2数据库系统1.2数据库系统1.2.1数据库系统的构成数据库系统通常由硬件、软件、数据库以及用户构成,如图1-4所示。图1-4数据库系统的构成1.2数据库系统1.2.2数据库管理系统数据库管理系统(DatabaseManagementSystem,简称DBMS)是一种操作和管理数据库的大型软件,使用它可以创建、使用和维护数据库。DBMS建立在操作系统之上,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。对数据定义;对数据进行增加、删除、更新、查询等操作;对数据进行组织、存储与管理;维护数据库,保证数据库的正常运行;保护数据库中数据的安全,数据遭到破坏后能够恢复;负责处理数据的传送。1.2数据库系统1.2.3常见的关系型数据库管理系统常见的关系型数据库管理系统有MySQL数据库管理系统、Oracle数据库管理系统、DB2数据库管理系统、SQLServer数据库管理系统等。Oracle1DB22SQLServer3Oracle即OracleRDBMS,是甲骨文公司的一款关系型数据库管理系统。SQLServer是Microsoft公司推出的关系型数据库管理系统,是真正的客户机/服务器体系结构DB2是IBM公司出品的关系型数据库管理系统,具有较好的可伸缩性,可支持从大型机到单用户环境,并且支持所有常见的服务器操作系统平台。1.3MySQL数据库管理系统1.3MySQL数据库管理系统MySQL是目前非常流行的关系型数据库管理系统,关系型数据库管理系统就是管理关系型数据库,并将数据组织为相关的行和列的系统。MySQL由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL在过去由于性能高、成本低、可靠性好,被广泛地应用在互联网上的中小型网站中。不过,随着MySQL的不断发展和完善,它也逐渐用于大型网站和应用,例如Baidu,Sina,Tencent,Alibaba,Google,Facebook,Twitter等大型互联网公司都用到了MySQL。1.3MySQL数据库管理系统1996年,MySQL1.0诞生。1996年10月份,MySQL3.11.1发布。1999年,Monty作为创始人之一,成立了MySQLAB公司,并与Sleepycat公司合作,发布了MySQL3.23版本。2003年3月,MySQL4.0正式发布。2005年10月,代表MySQL里程碑的版本——MySQL5.0正式问世。2008年1月16日,Sun公司收购MySQL。2009年4月20日,Oracle收购Sun公司。2010年4月,MySQL5.5版本正式对外发布。2013年2月,MySQL5.6GA版本发布。2015年10月,MySQL5.7GA版本发布。1.3.1MySQL的产生与发展1.3MySQL数据库管理系统MySQL由于其性能优秀,已经成为最流行的关系型数据库管理系统之一。1.3.2MySQL的优势运行速度快,具有高效的查询速度;对于大多数个人免费;支持Linux、MacOS、Windows等多种操作系统;为C,C++,Python,Java,Perl,PHP,Ruby和.NET等多种编程语言提供了API;支持多线程,充分利用了CPU资源;既能作为一个单独的应用程序应用在客户端/服务器网络环境中,也能作为一个库嵌入到其他软件中;支持多种存储引擎;可复制全局事务标识,支持自我修复式集群。1.3MySQL数据库管理系统1.3.3如何学习MySQL巩固基础1多动手操作2多查看资料3对于学习MySQL来说,SQL语言是最为基础的部分,大部分操作都是通过SQL语句来执行的,因此熟练使用SQL语句对深入学习MySQL有很大的帮助。同一个功能,往往可以使用不同的SQL语句来实现,只有多动手操作,才能检验自己的想法是否正确,哪种实现方法最合理。不断学习31.4结构化查询语言SQL1.4结构化查询语言SQL1.4.1SQL简介结构化查询语言(StructuredQueryLanguage,简称SQL)是目前被广泛使用的关系型数据库标准语言,用于插入、更新、删除和查询数据,以及管理关系型数据库系统。SQL语句主要可分为以下4类:数据定义语句(DDL)1数据操作语句(DML)2数据控制语句(DCL)3数据定义语句是负责定义数据结构与数据库对象的指令集,常用语句关键字包括CREATE、ALTER与DROP。数据操作语句是负责访问数据库对象中数据的指令集,用户通过它可以实现对数据库的基本操作,常用关键字包括INSERT,UPDATE,DELETE和SELECT。事务处理语句3数据控制语句是对数据访问权进行控制的指令集,它可以管理用户对数据表、预存程序、用户自定义函数等数据库对象的使用权限。常用关键字包括GRANT和REVOKE。1.4结构化查询语言SQL1.4.2SQL的简单应用下面将通过使用SQL语句创建表,并在表中添加和查询数据,来初步认识SQL语句的应用。【例1-1】使用SQL语句创建一张表,并在其中插入一条记录。首先设计一张名为students的表格,表中有一条学生信息,如表1-4所示。表1-4students表编

号姓

名年

龄性

别1小明22男1.4结构化查询语言SQL1.4.2SQL的简单应用CREATETABLEstudents(idINT(11)UNSIGNED,nameVARCHAR(32),ageINT(4)UNSIGNED,sexVARCHAR(16));根据表1-4可以编写一条SQL语句,该语句使用CREATE关键字声明创建一张名为students的表:

提示MySQL中的SQL语句是不区分大小写的,就是说CREATE和create作用相同,但是很多开发人员习惯将关键字大写,将数据列和表名小写。读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。1.4结构化查询语言SQL1.4.2SQL的简单应用INSERTINTOstudents(id,name,age,sex)VALUES(1,"小明",22,"男");现在这张表里没有任何数据,下面使用INSERT关键字在表中添加一条数据:SELECT*FROMstudents;添加完成后,可以使用SELECT关键字查询这张表中的信息:+-------+--------+--------+-------+|id

|name|age|sex

|+-------+--------+--------+-------+|1|小明

|22|男

|+-------+--------+--------+-------+查询出来的结果如下:感谢观看2MySQL的安装与配置第章2.1在Windows操作系统下安装与配置MySQL2.1在Windows操作系统下安装与配置MySQL2.1.1下载MySQL在Windows操作系统下,MySQL官方提供了两种安装版本,分别是二进制分发版(.msi文件)和免安装版(.zip压缩文件)。在安装与配置MySQL之前,需要登录官网下载安装文件,具体步骤如下:步骤1

打开浏览器,在其地址栏中输入网址“https:///downloads/mysql”,按回车键进入下载页面,然后根据操作系统选择安装文件,此处选择“Windows(x86,64-bit),ZIPArchive”版本,单击右侧的“Download”按钮,如图2-1所示。2.1在Windows操作系统下安装与配置MySQL2.1.1下载MySQL步骤2

跳转到另一个页面后,页面会提示用户选择登录或者注册,不用管它,直接单击下方的文字链接“Nothanks,juststartmydownload.”,即可开始下载,如图2-2所示。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤1MySQL下载完成后,即可进行安装,具体步骤如下:将下载的压缩文件“mysql-5.7.18-winx64.zip”解压到本地磁盘,此处为F盘根目录。步骤2配置文件是MySQL的核心文件,文件内容是MySQL的各项参数配置文件名一般为“my.ini”。由于MySQL5.7.18版本目录结构与以前的版本不同,没有“my.ini”文件或者“my-default.ini”文件,所以需要在目录中新建一个文件,命名为“my.ini”,如右图所示。建立“my.ini”文件

提示Windows10默认不显示文件扩展名,可单击窗口菜单“查看”,然后勾选“文件扩展名”复选框,来显示文件扩展名2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤3使用记事本打开文件“my.ini”,在其中添加以下配置内容并保存。[mysqld]

#Removeleading#andsettotheamountofRAMforthemostimportantdata#cacheinMySQL.Startat70%oftotalRAMfordedicatedserver,else10%.#innodb_buffer_pool_size=128M

#Removeleading#toturnonaveryimportantdataintegrityoption:logging#changestothebinarylogbetweenbackups.#log_bin

2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL#Thesearecommonlyset,removethe#andsetasrequired.#设置MYSQL的安装目录basedir=F:\mysql-5.7.18-winx64#设置MYSQL的数据目录datadir=F:\mysql-5.7.18-winx64\data#设置端口port=3306#server_id=.....

#Removeleading#tosetoptionsmainlyusefulforreportingservers.#TheserverdefaultsarefasterfortransactionsandfastSELECTs.#Adjustsizesasneeded,experimenttofindtheoptimalvalues.#join_buffer_size=128M#sort_buffer_size=2M#read_rnd_buffer_size=2M#设置SQL模式sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

提示用户可以把MySQL安装在系统盘,也可以安装在其他盘,但实际应用中,数据目录一般不会设在系统盘,因为随着系统运行时间的推移,数据量会越来越大。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL打开命令行窗口步骤4右击桌面左下角的“开始”按钮,执行“命令提示符(管理员)”命令,打开命令行窗口,如左图所示。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤5在窗口中输入“F:”命令并按回车键确认,跳转到F盘根目录,然后输入“cdmysql-5.7.18-winx64\bin”并按回车键确认,跳转到“F:\mysql-5.7.18-winx64\bin”目录,如右图所示。进入bin目录2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤6在命令行窗口中输入以下命令,然后按回车键确认,此时MySQL会进行初始化,自动创建“data”文件夹,如下图所示。初始化MySQL

知识库MySQL中的日志文件和数据库存放在“data”文件夹中。由于MySQL5.7版本的根目录缺少“data”文件夹,所以需要进行初始化。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤7在命令窗口中输入以下命令,然后按回车键确认,即可安装MySQL服务并指定配置文件位置,此时系统会提示服务安装成功,如下图所示。mysqld--installMySQL--defaults-file="F:\mysql-5.7.18-winx64\my.ini"安装MySQL

提示如果MySQL没有安装在系统盘的默认位置,那么安装命令中MySQL配置文件的路径应该为绝对路径。例如,此处是将MySQL安装在F:\mysql-5.7.18-winx64目录下,那么路径值就应该为F:\mysql-5.7.18-winx64\my.ini。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL步骤8右击“此电脑”图标,在弹出的快捷菜单中选择“属性”,打开“系统”窗口,然后单击窗口左侧列表中的“高级系统设置”项,如左图所示。打开高级系统设置2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL

步骤9打开“系统属性”对话框,单击对话框下方的“环境变量”按钮,打开“环境变量”对话框,在下方的“系统变量”列表框中选择“Path”,并单击“编辑”按钮,打开“编辑环境变量”对话框,单击“新建”按钮,然后在输入框中输入路径“F:\mysql-5.7.18-winx64\bin\”,之后连续单击“确定”按钮完成设置,如右图所示。添加环境变量2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL

知识库环境变量是操作系统中一个具有特定名字的对象,它包含应用程序运行时所用到的信息。例如,当系统运行某个程序但不知道程序所在的完整路径时,系统除了会在当前目录下寻找此程序外,还会到Path中指定的路径去寻找。

此处为MySQL配置了环境变量,这样就可以在进入命令行窗口后直接输入MySQL命令;否则就需要先跳转到MySQL安装目录中的bin目录下再输入MySQL命令。2.1在Windows操作系统下安装与配置MySQL2.1.2安装与配置MySQL2.2MySQL服务的基本操作步骤1

右击桌面左下角的“开始”按钮,执行“运行”命令,在输入框中输入“services.msc”,并单击“确定”按钮,如左图所示。在Windows系统下,启动MySQL服务有两种方法,一种是在服务管理器中启动,还有一种是在命令行窗口中启动。01在服务管理器中启动MySQL服务启动MySQL服务运行services.msc2.2MySQL服务的基本操作2.2.1启动MySQL服务步骤2打开“服务”窗口,在其右侧列表中选择MySQL,单击左侧出现的“启动”链接,即可启动MySQL服务,如右图所示。在服务管理器中启动MySQL服务2.2MySQL服务的基本操作2.2.1启动MySQL服务02在命令行窗口中启动MySQL服务步骤1右击桌面左下角的“开始”按钮,执行“命令提示符(管理员)”命令,打开命令行窗口。步骤2在命令行窗口中输入“netstartmysql”命令,按回车键确认,即可启动MySQL服务,如右图所示。在命令行窗口中启动MySQL服务2.2MySQL服务的基本操作2.2.1启动MySQL服务2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务启动MySQL服务后,可以通过客户端的命令行窗口来登录和退出MySQL。01登录MySQL步骤1右击桌面左下角的“开始”按钮,执行“命令提示符”命令,打开命令行窗口,如左图所示。

知识库安装和启动MySQL必须使用管理员身份,登录MySQL可以使用管理员身份,也可以使用普通用户,此处使用普通用户身份登录。2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务步骤2在命令行窗口中输入以下命令:mysql–hlocalhost–uroot-p登录数据库其中“-h”后跟随的参数值是服务端的主机地址,由于客户端和服务端在同一台计算机上,所以可以输入“”或者“localhost”,如果是本机登录,也可以省略该参数;“-u”后跟随的是用户名称,此处为“root”;“-p”后跟随的是用户登录密码,但密码不需要在本行输入。按回车键确认后,系统会提示输入密码:Enterpassword,由于当前还没有设置密码,所以直接按回车键确认就可以登录了,如上图所示。2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务登录MySQL后,会输出一段内容和一个“mysql>”命令提示符,下面简单介绍其中的主要命令及其意义:LOREMCommandsendwith;or\g:可以使用“;”或者“\g”结束命令。YourMySQLconnectionidis4:提示登录MySQL服务的次数,目前是第4次。Serverversion:5.7.18MySQLCommunityServer(GPL):MySQL的版本。Type'help;'or'\h'forhelp:输入“help;”或者“\h”可以查看帮助信息。Type'\c'toclearthecurrentinputstatement:

输入“\c”可以清除以前的命令。2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务步骤3初次登录MySQL默认是不需要密码的,为提高安全性,最好设置MySQL登录密码,命令的格式如下,结果如下图所示。SETPASSWORDFORroot@localhost='newpassword';修改登录密码2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务02退出MySQL退出MySQL非常简单,在命令行窗口中执行以下命令中的任意一个,均可退出MySQL:①exit。②quit。③\q。

2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务01在服务管理器中停止MySQL服务参照2.2.1节的操作,打开“服务”窗口。选择MySQL,单击左侧的“停止”链接,如右图所示。在服务管理器中停止MySQL服务停止MySQL服务2.2MySQL服务的基本操作2.2.2登录和退出MySQL服务02在命令行窗口中停止MySQL服务在命令行窗口中停止MySQL服务右击桌面左下角的“开始”按钮,执行“命令提示符(管理员)”命令,打开命令行窗口,输入“netstopmysql”命令,并按回车键确认,即可停止MySQL服务,如左图所示。2.3MySQL图形化管理工具2.3MySQL图形化管理工具2.3.1常用的图形化管理工具MySQL图形化管理工具有很多种,如香港卓软数码科技有限公司开发的NavicatforMySQL,MySQL官方开发的MySQL-Workbench,Webyog公司开发的SQLyog,还有phpMyAdmin团队开发的phpMyAdmin。NavicatforMySQL1MySQL-Workbench2SQLyog3NavicatforMySQL是一款专为MySQL设计的强大数据库管理及开发工具。MySQLWorkbench是MySQLAB公司发布的图形化管理软件。phpMyAdmin4SQLyog是Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。phpMyAdmin是一款基于Web方式,架构在网站主机上的MySQL管理工具。2.3MySQL图形化管理工具2.3.1常用的图形化管理工具NavicatforMySQL拥有极好的图形用户界面,可以更加安全、容易和快速地创建、组织、存取和共享信息。NavicatforMySQL可以连接本地或远程MySQL服务器,用户可以浏览、建立和删除数据库,增加、删除、修改和查询数据,管理用户权限,备份/复原数据库,导入/导出数据(支持CSV,TXT,DBF和XML格式)等。2.3MySQL图形化管理工具2.3.1常用的图形化管理工具本书将以该软件为例介绍图形化管理工具的应用,本节先来介绍其下载和安装方法,其具体应用将穿插在后面的相关章节中。NavicatforMySQL下载页面步骤1在浏览器地址栏中输入网址“/download”,按回车键进入Navicat下载页面,选择“NavicatforMySQL”开始下载,如右图所示。2.3MySQL图形化管理工具2.3.1常用的图形化管理工具运行安装程序步骤2运行已经下载完成的安装程序,打开“安装程序”对话框,单击“下一步”按钮,如左图所示。2.3MySQL图形化管理工具2.3.1常用的图形化管理工具步骤3选择“我同意”单选项,同意许可证中的条款,之后单击“下一步”按钮,如右图所示。许可证条款2.3MySQL图形化管理工具2.3.1常用的图形化管理工具选择安装位置步骤4

在弹出的对话框中单击“浏览”按钮,选择软件的安装位置,之后单击“下一步”按钮,如左图所示。2.3MySQL图形化管理工具2.3.1常用的图形化管理工具步骤5在接下来弹出的对话框中单击“浏览”按钮,选择软件的快捷方式安装地址,并单击“下一步”按钮,如右图所示。2.3MySQL图形化管理工具步骤6连续单击“下一步”按钮,直至弹出如左图所示的对话框,单击“完成”按钮,完成安装。2.3.1常用的图形化管理工具2.3MySQL图形化管理工具Navicat只是一个客户端软件,如果需要操作MySQL,必须与MySQL建立连接,具体步骤如下:步骤1打开NavicatforMySQL客户端软件,单击“文件”菜单,在其下拉菜单中执行“新建连接”命令,如下图所示。2.3.2使用Navicat连接MySQL新建连接2.3MySQL图形化管理工具填写连接信息步骤2打开“新建连接”窗口,在“常规”选项卡下输入正确的主机名或IP地址、端口、用户名和密码之后,单击“确定”按钮,就可以和MySQL建立连接了,如左图所示。

提示为便于记忆,可输入一个连接名,如果不输入连接名,此软件会自动生成一个由主机名和端口组成的名称。2.3.2使用Navicat连接MySQL2.4在Linux操作系统下安装与配置MySQL2.4在Linux操作系统下安装与配置MySQL2.4.1下载MySQLLinux操作系统有许多不同的版本,不同版本的操作系统需要安装的MySQL版本也不同,目前MySQL主要支持的Linux版本有Ubuntu、SUSE和RedHat。RedHat也分为多种不同的版本,但其安装过程基本相同,读者可以根据不同的操作系统选择相应的安装包,此处选择的Linux操作系统版本是CentOS7,它属于RedHat的社区版。表2-1Linux操作系统下MySQL安装包及其特点安装包简

介特

点RPM包RPM包(RPMPackageManager)是一种Linux系统下的安装文件,通过命令可以方便的安装与卸载安装简单,适合初学者;安装路径不能修改;需要分别下载服务端和客户端;一台服务器只能安装一个MySQL二进制包二进制包是源代码经过编译生成的二进制软件包安装简单;可安装到任何路径下;已经经过编译,不能定制编译参数,性能不是很高;一台服务器可以安装多个MySQL源码包源码包是MySQL的源代码,安装之前需要用户自己编译安装过程复杂,编译时间长;可灵活定制编译参数,性能相对较高;一台服务器可安装多个MySQL2.4在Linux操作系统下安装与配置MySQL2.4.1下载MySQL对于初学者,MySQL推荐使用RPM包,其下载步骤如下:步骤1在浏览器地址栏中输入网址“/downloads/mysql”,按回车键进入下载页面,在操作系统下拉列表中选择“RedHatEnterpriseLinux/OracleLinux”,在系统版本下拉列表中选择“RedHatEnterpriseLinux7/OracleLinux7(x86,64-bit)”,如图2-26所示。步骤2单击“MySQLServer”和“ClientUtilities”右侧的“Download”按钮,下载RPM安装包,如图2-26所示。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQLMySQL的RPM包分为多个部件,一般只需安装“MySQLServer”和“ClientUtilities”即可。“MySQLServer”是MySQL服务端的部件,为用户提供核心服务,“ClientUtilities”是连接MySQL服务端的客户端工具,方便管理人员对MySQL进行操作。步骤1使用ftp工具将下载完成的RPM包上传到Linux系统中root目录下,由于安装过程需要依赖包“SharedLibraries”和“MySQLConfiguration”,所以这两个依赖包也需要在网站中下载后上传到系统中。登录Linux系统后进入root目录,查看该目录下的文件,如图2-27所示。

知识库Linux和Windows操作系统采用的设计模式都是模块化设计,也就是说功能互相依赖。例如,安装某个软件又需要一些其他文件,这就说明软件和这些文件存在依赖关系。大部分依赖包是库文件,有动态库也有静态库,如果一个程序只安装了这个程序本身,而它的依赖包没有安装,此程序是不能使用的。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL步骤2如果当前用户不是root用户,需要执行“suroot”命令将当前用户切换到root用户,然后执行以下命令安装“ClientUtilities”包,此时系统会提示需要安装“SharedLibraries”依赖包,如图2-28所示。rpm-ivhmysql-community-client-5.7.18-1.el7.x86_64.rpm

提示由于MySQL会不断更新安装包,安装包的文件名也会随之改变,所以“rpm-ivh”命令之后的文件名应该是实际下载的文件名。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL步骤3执行以下命令安装“SharedLibraries”包时,系统会提示需要另一个依赖包“MySQLConfiguration”,如图2-29所示。rpm-ivhmysql-community-libs-5.7.18-1.el7.x86_64.rpm由于错误信息提示mariadb-libs与mysql-community-libs冲突,所以安装依赖包之前需要执行以下命令将mariadb-libs卸载。yum-yremovemariadb-libs-5.5.52-1.el7.x86_642.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL步骤4执行以下命令安装“MySQLConfiguration”包,如图2-30所示。rpm-ivhmysql-community-common-5.7.18-1.el7.x86_64.rpmrpm-ivhmysql-community-libs-5.7.18-1.el7.x86_64.rpm步骤5执行以下命令安装“SharedLibraries”依赖包,如图2-31所示。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL步骤6执行以下命令安装“ClientUtilities”,如图2-32所示。rpm-ivhmysql-community-client-5.7.18-1.el7.x86_64.rpmrpm-ivhmysql-community-server-5.7.18-1.el7.x86_64.rpm步骤7执行以下命令安装“MySQLServer”,如图2-33所示。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL步骤8出于安全考虑,Linux系统下,MySQL5.6及以上版本root用户的初始密码不为空,在安装过程中,会生成一个随机密码。执行以下命令获取初始密码,如图2-34所示。grep"password"/var/log/mysqld.logmysql-hlocalhost-uroot-p步骤9执行以下命令,然后输入初始密码按回车键确认,即可登录MySQL,如图2-35所示。2.4在Linux操作系统下安装与配置MySQL2.4.2安装和配置MySQL

提示在登录MySQL时,如果系统提示“ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/lib/mysql/mysql.sock'(2)”错误信息,无法登录MySQL,是因为“mysql.sock”文件没有生成,此时需要执行“ln-s/var/lib/mysqld/mysqld.sock/tmp/mysql.sock”命令,创建一个软链接,然后登录MySQL即可。表2-2Linux系统下MySQL相关目录文件夹位置文件夹内容/usr/bin/mysql客户端和脚本/usr/sbin/mysqldMySQL服务器/var/log/mysqld.log错误日志/etc/fMySQL配置文件/var/lib/mysql日志文件和数据库2.4在Linux操作系统下安装与配置MySQL2.4.3MySQL服务基本操作进入Linux操作系统后,直接输入以下命令,即可启动、停止和重启MySQL。启动MySQL:servicemysqldstart;停止MySQL:servicemysqldstop;重启MySQL:servicemysqldrestart。感谢观看3数据库基本操作第章3.1创建数据库3.1创建数据库3.1.1数据库的构成在MySQL中,数据库可以分为系统数据库和用户数据库两大类。

知识库数据库对象是指存储、管理和使用数据的不同结构形式,主要包括表、索引、视图、缺省值、规则、触发器、存储过程和函数等。系统数据库1系统数据库是指MySQL安装配置完成之后,系统自动创建的一些数据库。可以使用SHOWDATABASES语句查看当前系统中存在的数据库,输入的语句及其执行结果如下。mysql>SHOWDATABASES;+--------------------------------------+|Database |+--------------------------------------+|information_schema ||mysql ||performance_schema ||sys |+---------------------------------------+4rowsinset(0.00sec)用户数据库2用户数据库是用户根据实际需求手动创建的数据库。3.1创建数据库3.1.2使用命令行窗口创建数据库一般由字母和下划线组成,不允许有空格,可以是英文单词、英文短语或相应缩写;不允许是MySQL关键字;长度最好不超过128位;创建数据库的关键字为CREATE,语法形式如下:CREATEDATABASEdatabase_name;不能与其他数据库同名。【实例3-1】使用CREATE关键字创建数据库db_shop。mysql>CREATEDATABASEdb_shop;QueryOK,1rowaffected(0.00sec)3.1创建数据库3.1.3使用图形化工具创建数据库步骤1

打开NavicatforMySQL软件,连接MySQL。步骤2

右击左侧列表中已建立的连接,在弹出的快捷菜单中执行“新建数据库”命令,如图3-1所示。步骤3

打开“新建数据库”对话框,在“数据库名”文本框中输入数据库名,此处为“book”,如图3-2所示。图3-1新建数据库图3-2填写数据库名3.1创建数据库3.1.3使用图形化工具创建数据库步骤3

单击“确定”按钮,即可创建一个新的数据库,如图3-3所示。图3-3成功创建数据库3.2查看和选择数据库3.2查看和选择数据库3.2.1查看数据库执行以下命令,可查看数据库管理系统中所有的数据库。mysql>SHOWDATABASES;+--------------------------------------+|Database |+--------------------------------------+|information_schema ||book ||db_shop ||mysql ||performance_schema ||sys |+--------------------------------------+6rowsinset(0.00sec)SHOWDATABASES;【实例3-2】查看数据库。3.2查看和选择数据库3.2.2选择数据库选择数据库的语法形式如下:USEdatabase_name;【实例3-3】选择数据库。mysql>USEdb_shop;Databasechanged其中,database_name表示数据库名称。3.3删除数据库3.3删除数据库DROPDATABASEdatabase_name;【实例3-4】删除数据库。mysql>DROPDATABASEdb_shop;QueryOK,0rowsaffected(0.07sec)其中,database_name表示数据库名称。删除数据库的关键字为DROPDATABASE,语法形式如下:使用命令行窗口删除数据库13.3删除数据库使用图形化工具删除数据库,需要右击数据库名称,在弹出的快捷菜单中执行“删除数据库”命令,如图3-4所示。使用图形化工具删除数据库2图3-4删除数据库感谢观看4存储引擎、数据类型和字符集第章4.1存储引擎4.1存储引擎存储引擎是MySQL体系结构的重要组成部分,作用是指定表的类型,规定表如何存储和索引数据、是否支持事务等。4.1.1MySQL存储引擎概述MySQL支持的存储引擎1MySQL支持的存储引擎包括InnoDB,MRG_MYISAM,MEMORY,BLACKHOLE,MyISAM,CSV,ARCHIVE,PERFORMANCE_SCHEMA,FEDERATED,可以在登录MySQL后执行以下命令查看:mysql>SHOWENGINES\G***************************1.row***************************Engine:InnoDBSupport:DEFAULTComment:Supportstransactions,row-levellocking,andforeignkeysTransactions:YESXA:YESSavepoints:YES***************************2.row***************************Engine:MRG_MYISAM省略部分……

提示上述命令以“\G”结尾,其作用是将查询结果按列显示。4.1存储引擎4.1.1MySQL存储引擎概述查看MySQL默认存储引擎2MySQL5.5之前版本的默认存储引擎为MyISAM,MySQL5.5及之后版本的默认存储引擎为InnoDB,可以执行以下命令查看默认存储引擎:mysql>SHOWVARIABLESLIKE'default_storage_engine';+----------------------------+-----------+|Variable_name|Value|+----------------------------+-----------+|default_storage_engine|InnoDB|+----------------------------+-----------+1rowinset,1warning(0.00sec)4.1存储引擎4.1.1MySQL存储引擎概述修改MySQL默认存储引擎3创建新表时如果不指定存储引擎,则系统使用默认存储引擎。如果用户想改变默认存储引擎,可以通过修改配置文件来实现。打开my.ini配置文件,在“[mysqld]”组下面添加以下内容,然后保存文件即完成修改。#设置MySQL服务器的默认存储引擎default_storage_engine=MyISAM修改完毕后,需要重启MySQL服务,修改才能生效。可以重启并重新登录MySQL,并采用前面的方法查询修改结果。4.1存储引擎4.1.2常用的存储引擎InnoDB1InnoDB为MySQL提供具有提交、回滚、崩溃恢复能力和多版本并发控制的事务安全型表,能够高效地处理大量数据。适用于需要事务支持、高并发、数据更新频繁、对数据的一致性和完整性要求较高的计费系统或者财务系统等。MyISAM2MyISAM存储引擎基于ISAM,并对其进行扩展。具有较高的插入和查询速度,但不支持事务和外键。每个使用MyISAM存储引擎创建的数据表都会生成3个文件,文件名和数据表名称相同,但扩展名不同,各个文件及其作用分别如下:.frm:存储表定义;.MYD:存储数据;.MYI:存储索引。MEMORY3MEMORY存储引擎主要用于内容变化不频繁的表。另外,由于MEMORY存储引擎是将数据存储到内存中,所以太大的表无法使用此存储引擎。对于数据更新不频繁、存活周期不长和需要对统计结果进行分析的数据表可以使用MEMORY存储引擎。对事务完整性没有要求、并发相对较低、数据更新不频繁、以读为主和对数据一致性要求不高的数据表,推荐使用MyISAM存储引擎。4.2数据类型4.2数据类型数据表由多个字段构成,每个字段可以指定不同的数据类型,数据类型用于规定数据的存储格式、约束和有效范围。在定义数据表字段时,应根据实际情况选择合适的数据类型。MySQL提供的数据类型主要包括数值类型、日期和时间类型、字符串类型以及JSON类型。【实例4-1】参照表4-1的信息,创建数据表tb_demo。表4-1tb_demo表中各字段及其数据类型字

段数据类型注

释idINT(11)编

号nameVARCHAR(30)姓

名ageTINYINT(4)年

龄scoreFLOAT(4,1)分

数sexENUM('w','m',)性

别hobbySET('football','basketball','volleyball')爱

好photoVARBINARY(255)相

片spendDECIMAL(5,1)生活费addressJSON住

址IntroTEXT简

介4.2数据类型4.2.1数值类型数值类型用于存储数字型数据,包括整数类型(TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT)、浮点数类型(FLOAT,DOUBLE)和定点数类型(DECIMAL)。其中,整数类型的字段用于存储整数,浮点数和定点数类型的字段用于存储小数。不同的数值类型提供不同的存储范围,并且每种类型可以设置两种格式,分别为有符号和无符号,有符号表示可以存储负数,无符号表示只能存储0或正数。4.2数据类型4.2.1数值类型表4-2整数类型数据类型所占字节存储范围(有符号)存储范围(无符号)TINYINT1字节-128~1270~255SMALLINT2字节-32768~327670~65535MEDIUMINT3字节-8388608~83886070~16777215INT4字节-2147483648~21474836470~4294967295BIGINT8字节-9223372036854775808

~92233720368547758070~18446744073709551615表4-3TINYINT类型二进制正整数最大值01111111表4-4TINYINT类型二进制负整数最小值10000000整数类型14.2数据类型4.2.1数值类型以tb_demo表为例,其中有一个age字段,它的数据类型为TINYINT,此处向age字段插入数据,当插入的数值在TINYINT类型的存储范围内时,可以正常插入,如果插入的数据长度超出所选数据类型的存储范围,或者为其他类型的数据时,系统就会提示“Outofrange”错误信息,如下所示。mysql>INSERTINTOtb_demo(age)VALUES(123);QueryOK,1rowaffected(0.27sec)mysql>INSERTINTOtb_demo(age)VALUES(1234);ERROR1264(22003):Outofrangevalueforcolumn'age'atrow1mysql>SELECTageFROMtb_demo;+------+|age|+------+|123|+------+1rowsinset(0.02sec)4.2数据类型4.2.1数值类型mysql>HELPCONTENTS;Youaskedforhelpabouthelpcategory:"Contents"Formoreinformation,type'help<item>',where<item>isoneofthefollowingcategories:AccountManagementAdministrationCompoundStatementsDataDefinitionDataTypes#部分内容省略【实例4-2】查看系统帮助。首先使用“HELPCONTENTS”查看MySQL帮助文档支持的目录列表。然后根据需要查看的条目输入相关命令进行查看,例如,执行“HELPDATATYPES”可以查看MySQL支持的所有数据类型。最后以“HELP”开头,加上任意一个数据类型,可以查看其存储范围,如以下代码所示:mysql>HELPDATATYPES;Youaskedforhelpabouthelpcategory:"DataTypes"Formoreinformation,type'help<item>',where<item>isoneofthefollowingtopics:AUTO_INCREMENT#部分内容省略mysql>HELPTINYINT;Name:'TINYINT'Description:TINYINT[(M)][UNSIGNED][ZEROFILL]Averysmallinteger.Thesignedrangeis-128to127.Theunsignedrangeis0to255.4.2数据类型4.2.1数值类型浮点数类型和定点数类型2浮点数类型分为两种,单精度(FLOAT)和双精度(DOUBLE),而定点数类型只有DECIMAL一种。浮点数类型和定点数类型都可以使用类型名称后面加“(M,D)”的形式来定义,其中M称为精度,表示数值的位数(整数位+小数位);D称为标度,表示小数点后的位数。例如,tb_demo表中score字段的数据类型为FLOAT(4,1),表示可正常插入的数据长度最大是4位,小数点后保留1位,例如,123.4这样的小数符合要求。小数类型的数据占用字节和存储范围如表4-5所示。表4-5小数类型数据类型占用字节负数存储范围非负数存储范围FLOAT4字节-3.402823466E+38

~-1.175494351E-380和1.175494351E-38

~3.402823466E+38DOUBLE8字节-1.7976931348623157E+308

~-2.2250738585072014E-3080和2.2250738585072014E-308

~1.7976931348623157E+308DECIMALM+2字节与DOUBLE相同与DOUBLE相同4.2数据类型4.2.1数值类型【实例4-3】浮点数类型和定点数类型的区别。mysql>INSERTINTOtb_demo(score,spend)VALUES(90.16,2000.16);QueryOK,1rowaffected,1warning(0.10sec)mysql>SHOWwarnings;+-------+------+--------------------------------------------------------------+|Level|Code|Message |+-------+------+--------------------------------------------------------------+|Note|1265|Datatruncatedforcolumn'spend'atrow1 |+-------+------+---------------------------------------------------------------+1rowinset(0.00sec)mysql>selectscore,spendfromtb_demo;+----------+-------------+|score|spend |+----------+-------------+|90.2|2000.2 |+-----------+------------+1rowinset(0.01sec)4.2数据类型4.2.2日期和时间类型MySQL5.7版本中用于存储日期和时间的数据类型有YEAR,DATE,TIME,DATETIME和TIMESTAMP,每一种类型都有固定的存储范围。表4-6日期和时间类型数据类型占用字节存储格式存储范围YEAR1字节YYYY1901~2155DATE3字节YYYY-MM-DD1000-01-01~9999-12-31TIME3字节+小数秒存储HH:MM:SS-838:59:59~838:59:59DATETIME5字节+小数秒存储YYYY-MM-DDHH:MM:SS1000-01-0100:00:00

~9999-12-3123:59:59TIMESTAMP4字节+小数秒存储YYYY-MM-DDHH:MM:SS1970-01-0100:00:01UTC

~2038-01-1903:14:07UTC

提示向日期和时间类型的字段插入数据时,最好使用引号将值包含起来。4.2数据类型4.2.2日期和时间类型YEAR1YEAR类型用于存储只有年份的值,存储格式为YYYY,它可以被声明为YEAR或YEAR(4),具有四个字符的显示宽度。在向数据库中插入YEAR类型的数据时,可以输入不严格的值,如17,系统会自动转换为2017,转换规则有以下几点:数值1~69和70~99自动转换为2001~2069和1970~1999。字符串’1’~’69’和’70’~’99’自动转换为2001~2069和1970~1999。字符串’0’或’00’自动转换为2000。DATE2DATE类型用于存储具有日期部分但没有时间部分的值,存储格式为YYYY-MM-DD。格式为’YYYY-DD-MM’和’YYYYDDMM’的字符串会转换为标准格式。格式为YYYYDDMM和YYDDMM的数值会转换为标准格式。格式为’YY-DD-MM’和’YYDDMM’的字符串会转换为标准格式。

提示’2017/10/10’,’2017.10.10’和’2017#10#10’都会被系统转换为’2017-10-10’格式。4.2数据类型4.2.2日期和时间类型TIME3TIME类型用于存储具有时间部分但没有日期部分的值,存储格式为HH:MM:SS。TIME类型的存储范围是-838:59:59到838:59:59,其不仅可用于表示一天中的时间(小于24小时),而且可用于表示两个事件之间的时间间隔(可能远远大于24小时,或者为负)。TIME类型支持’DHH:MM:SS’格式,D表示日,可以在0~34之间取值,会被转换为小时,即D*24+HH。TIME类型支持没有分隔符的字符串或数值的格式。例如,113050会被系统转换为11:30:50。当数据为TIME类型的缩写值时,如果没有分隔符,MySQL会认为值的最右边两位表示秒,例如,’1010’会被转换成00:10:10;如果有分隔符,MySQL会认为值的最左边两位表示小时,例如,’10:10’会被转换为10:10:00。4.2数据类型4.2.2日期和时间类型DATETIME4DATETIME类型用于存储同时具有日期和时间的值,存储格式为YYYY-MM-DDHH:MM:SS。格式为YYYYMMDDHHMMSS和YYMMDDHHMMSS的数值会转换为标准格式。格式为’YYYYMMDDHHMMSS’和’YYMMDDHHMMSS’的字符串会转换为标准格式。TIMESTAMP5TIMESTAMP类型与DATETIME类型相似,用于存储同时具有日期和时间的值,存储格式为YYYY-MM-DDHH:MM:SS,但是TIMESTAMP类型的存储范围较小。TIMESTAMP类型与DATETIME类型最大的区别是:DATETIME类型存储的数据是什么,显示的就是什么;而TIMESTAMP类型的时间可以根据时区进行转换,在查询时,当前时区不同,显示的时间值也不同。4.2数据类型4.2.3字符串类型MySQL支持的字符串数据类型包括CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM和SET等。表4-7字符串类型类型名称占用字节存储范围CHAR(M)M*w字节0<=M<=255VARCHAR(M)L+1字节0<=M<=65535BINARY(N)N字节0<=N<=255VARBINARY(N)L+1字节0<=N<=65535BLOBL+2字节L<216TEXTL+2字节L<216ENUM1或2字节0~65535SET1、2、3、4或8字节最多64个成员4.2数据类型4.2.3字符串类型CHAR和VARCHAR1CHAR和VARCHAR类型都是用于存储较短的字符串,两者的主要区别是存储方式不同。BINARY和VARBINARY2BINARY和VARBINARY类型用于存储较短的二进制字符串。例如,tb_demo中photo字段存储的是一张图片转换而成的二进制码。BINARY类型的长度是固定的,当数据长度不足时,系统将自动在它的右边填充“\0”,直至指定长度。例如,当数据类型为BINARY(4)时,插入数据为“a”,存储的内容实际为“a\0\0\0”。CHAR类型的长度是固定的

温馨提示

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

评论

0/150

提交评论