MySQL是一个主流的关系型数据库管理系统(Relational Database Management System,RDBMS),由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL同时也是一个非常轻巧的数据库产品,与大型数据管理系统相比,其规模小、速度快、成本低,是一个非常优秀的关系型应用数据库软件系统。
MySQL软件采用了双授权政策,分为社区版和企业版。其社区版为开源产品,无须付费即可使用,一般中小型Web应用平台的开发都选择MySQL社区版作为数据库服务器。企业版为付费产品,有相关的技术支持,是一款性价比较高的应用数据库产品。不同的用户群体可以选择不同的MySQL数据库版本,以满足对实际生产、应用、学习的需求,本书以社区版为基础来讲解MySQL数据库的应用与开发技术。
MySQL数据库的安装包括数据库服务器与客户端工具两部分,数据库服务器以社区版5.5为例,客户端工具以官方平台上的MySQL GUI Tools为例,来讲解MySQL数据库的安装、配置及使用过程。
1)双击安装程序“mysql-installer-community-5.5.27.2.msi”,弹出如图1-4所示的开始安装界面,选择第一项“Install MySQL Products”,表示要安装MySQL数据库产品。
图1-4 MySQL数据库服务器开始安装界面
2)在弹出的“License Agreement”界面中,勾选“I accept the license terms”项,表示接受相关协议,如图1-5所示,然后单击“Next”按钮。
图1-5 “License Agreement”界面
3)接着弹出“Find latest products”界面,勾选“Skip the check for updates”项,表示不查找最新产品,如图1-6所示,然后单击“Next”按钮。
图1-6 “Find latest products”界面
4)接着进入“Choosing a Setup Type”界面,在此界面中有5个选项,表示对安装组件的选择,如图1-7所示,在此建议选择“Developer Default”项。
①“Developer Default”:表示安装MySQL开发场景下所需的默认组件。
图1-7 “Choosing a Setup Type”界面
②“Server only”:表示只安装MySQL数据库服务器端,不安装其他任何组件。
③“Client only”:表示只安装MySQL数据库客户端命令行,不安装其他任何组件。
④“Full”:表示安装所有的MySQL组件。
⑤“Custom”:表示自行选择所需要安装的MySQL组件。
5)接着进入“Check Requirements”界面,如图1-8所示。在此检查操作系统中是否有相应的插件来支持MySQL数据库安装组件,如果缺少某一插件可以往上回退,并取消相关安装组件。在此界面中直接单击“Execute”按钮,弹出如图1-9所示界面,直接单击“Next”按钮。
图1-8 “Check Requirements”界面(一)
图1-9 “Check Requirements”界面(二)
6)接着弹出“Installation Progress”界面,如图1-10所示,在此界面将展示哪些MySQL的产品组件将被安装到操作系统环境中,单击“Execute”按钮,开始产品安装过程,安装完成后看到如图1-11所示的界面,至此完成服务器部分安装。
图1-10 “Installation Progress”界面
图1-11 MySQL数据库服务器完成安装界面
MySQL数据库配置主要包括服务器类型配置、服务响应端口、原始访问用户配置、服务名称、是否开机启动等。
1)在MySQL数据库安装完成后即可进入配置操作流程,在如图1-11所示的安装完成界面中,单击“Next”按钮,进入配置界面,如图1-12所示,开始服务器配置过程,单击“Next”按钮。
图1-12 “Configuration Overview”界面
2)接着进入“MySQL Server Configuration”界面,如图1-13所示,按相关默认选项安装即可,单击“Next”按钮。
图1-13 “MySQL Server Configuration”界面
①“Config Type”:配置服务器的类型,有开发机(Development Machine)、普通服务器(Server Machine)、专用服务器(Dedicated Machine)3种类型。
②“Port Number”:配置MySQL服务器的访问端口,默认为3306。
3)接着进入原始访问用户账号配置界面,如图1-14所示,在此可对“root”账户配置访问密码。“root”账户为MySQL数据库的超级账户,拥有数据库的所有权限,可以访问任何资源。如果首次安装MySQL,只有“MySQL Root Password”和“Repeat Password”两项;如果MySQL已经安装过多次则会多一项“Current Root Password”,每个密码至少4个字符。按相关要求输入相关密码后,单击“Next”按钮。
图1-14 原始访问用户账号配置界面
①“Current Root Password”:输入当前的“root”账号密码。
②“MySQL Root Password”:输入新设定的“root”账号密码。
③“Repeat Password”:再次输入新设定的“root”账号密码。
4)接着进入操作系统服务配置界面,如图1-15所示,在此可以设定在Window操作系统中MySQL数据库服务的名称以及开机是否启动MySQL数据库服务。勾选“Start the MySQL Server at System Startup”项,即可实现启动MySQL数据库,最后每步直接单击“Next”按钮,直到出现如图1-16所示的“Installation Complete”界面,单击“Finish”按钮,完成MySQL服务器的基本配置操作。
图1-15 操作系统服务配置界面
图1-16 “Installation Complete”界面
MySQL数据库客户端包含命令行客户端与图形用户界面(Graphical User Interface,GUI)客户端两部分,其中命令行客户端是MySQL5.5安装程序中自带的,无须另外安装;GUI客户端则需要另外安装。本节以官方平台上的MySQL GUI Tools客户端工具为例,讲解其安装过程。
1)双击安装程序“mysql-gui-tools-5.0-r12-win32.msi”,弹出如图1-17所示的开始安装界面,单击“Next”按钮,开始安装MySQL客户端工具。
图1-17 MySQL数据库客户端工具开始安装界面
2)在弹出的“License Agreement”界面中,勾选“I accept the terms in the license agreement”项,如图1-18所示,然后单击“Next”按钮。
图1-18 “License Agreement”界面
3)在弹出的“Destination Folder”界面中,可以通过“Change”按钮修改应用的安装位置,如无须修改,则直接单击“Next”按钮,如图1-19所示。
图1-19 “Destination Folder”界面
4)在弹出的“Setup Type”界面中,可以选择安装的类型,“Complete”项代表完全安装,“Custom”项代表自定义安装,没有特殊需求情况下,按默认项完全安装即可,单击“Next”按钮,如图1-20所示。
图1-20 “Setup Type”界面
5)弹出“Ready to Install the Program”界面,直接单击“Install”按钮,真正开始将MySQL客户端工具安装到操作环境中,如图1-21所示。
图1-21 “Ready to Install the Program”界面
6)在弹出的选择界面中,直接单击“Next”按钮,如图1-22所示,直至弹出如图1-23所示的结束安装界面,直接单击“Finish”按钮,完成安装过程。
图1-22 “MySQL Enterprise”界面
7)MySQL数据库服务器与客户端工具安装完成后,可以在Windows操作系统的“开始”菜单中找到MySQL相关应用程序的菜单选项,如图1-24所示,相关菜单功能如下。
图1-23 “Wizard Completed”界面
图1-24 MySQL相关应用程序的菜单选项
①“MySQL Query Browser”:MySQL的GUI客户端工具。
②“MySQL 5.5 Command Line Client”:MySQL的命令行客户端工具。
③“MySQL Administrator”:MySQL服务器管理配置工具。
MySQL数据库安装完成后可通过命令行客户端登录,也可以通过GUI客户端工具登录,对初学者来说,通过GUI工具登录是最直观明了的,同时也是一种常用、高效的数据库操作方式。
1)在“开始”菜单中单击“MySQL Query Browser”选项,弹出如图1-25所示的登录界面,填写各项的登录连接参数,单击“OK”按钮,开始正式登录数据库,各项连接参数的含义如下所述。
图1-25 “MySQL Query Browser”界面
①“Stored Connection”:已经存储的连接配置,为下拉式选项,没有存储其他连接配置的情况下,可以不选。
②“Server Host”:MySQL数据库服务器的IP,当服务器与客户端工具安装在同一台计算机上时,可输入“127.0.0.1”或“localhost”。
③“Port”:MySQL数据库服务进程的端口号,默认为3306。
④“Username”:登录MySQL数据库的账号。
⑤“Password”:登录MySQL数据库的密码。
⑥“Default Schema”:需要连接的逻辑库,必须是数据库服务器中已存在或已经创建的,默认为“test”库(“test”库是数据库服务器默认创建好的逻辑库)。
2)在各项连接参数输入正确的情况下,可以成功登录MySQL数据库,如图1-26所示。在GUI工具上可以看到,数据库操作界面有多个区,可以看到“test”逻辑库,即连接登录的库节点,同时看到“test”库呈黑色粗体状,表示当前的工作库,可以通过双击逻辑库来改变当前的工作库。
图1-26 成功登录MySQL数据库
1984年,中国科学院计算技术研究所研制出了我国第一款自主知识产权的关系型数据库系统“银河数据库”,这也是我国第一个具有自主知识产权的数据库系统。
近年来,随着国家对信息安全和自主可控的要求不断提高,国产数据库市场逐渐崛起。国内企业不断加强自主研发能力,推出了一系列具有自主知识产权的数据库产品。如南大通用GBase 8a、万里开源TDSQL、OceanBase等,这些产品在不同领域都有着广泛的应用。
国产数据库产品不仅在国内市场上得到了广泛应用,也在国际市场上获得了一定的认可。例如,南大通用GBase 8a已经通过了Oracle认证,成为国内首个通过Oracle认证的关系型数据库产品;万里开源TDSQL也已经通过了Microsoft SQL Server认证,成为国内首个通过Microsoft SQL Server认证的分布式关系型数据库产品。
作为中国自主研发的分布式关系型数据库,华为GaussDB在市场上也备受关注,其具备高可用、高安全、高性能、高弹性、高智能以及易部署、易迁移的特性,实现了全面升级。
(资料来源:https://baijiahao.baidu.com/s?id=1769525814246780338&wfr=spider&for=pc,有改动)
1.数据库诞生于60多年前,从其出现至今数据库的发展经历了以下( )阶段。[多选]
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.大数据信息化阶段
2.数据库系统(DBS)由( )部分共同组成,各个部分之间相互协作,共同支撑起整个数据库管理系统各种复合功能。[多选]
A.数据
B.硬件
C.软件
D.人员
3.数据库系统的使用用户,主要有以下( )类。[多选]
A.数据库设计人员,负责数据库中数据的确定、数据库各级模式的设计
B.应用程序员,负责编写使用数据库的应用程序,这些应用程序可对数据进行检索、建立、删除或修改
C.最终用户,他们利用系统的接口或查询语言访问数据库
D.数据库管理员,负责数据库的总体信息控制
4.数据库管理员(DBA)的职责包括以下( )点。[多选]
A.维护数据库中的信息内容和结构,监控数据库的使用和运行
B.制定数据库的存储结构和存取策略
C.定义数据库的安全性要求和完整性约束条件
D.负责数据库的性能改进、数据库的重组和重构
5.以下关于SQL语言的描述正确的是( )。[多选]
A.SQL是结构化查询语言(Structured Query Language)的简称
B.SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
C.SQL是一个综合的、通用的、功能极强的关系数据库语言
D.SQL同样适用于NoSQL类型的非关系型数据库系统
6.SQL语言包含以下( )模块。[多选]
A.数据查询语言(Data Query Language,DQL)
B.数据操作语言(Data Manipulation Language,DML)
C.事务控制语言(Transaction Control Language,TCL)
D.数据控制语言(Data Control Language,DCL)
E.数据定义语言(Data Definition Language,DDL)
F.指针控制语言(Cursor Control Language,CCL)
7.数据操作语言(Data Manipulation Language,DML)规定了对数据表的写操作语句,包括动词( )分别用于对数据表中记录的添加、修改和删除操作。[多选]
A.SELECT
B.INSERT
C.UPDATE
D.DELETE
8.数据查询语言(Data Query Language,DQL)用以从表中获得数据,确定数据怎样在应用程序给出。包含以下( )命令。[多选]
A.SELECT
B.ORDER BY
C.COMMIT
D.CREATE
9.事务控制语言(Transaction Control Language,TCL)定义了对数据表的事务控制操作语句,可确保数据表中记录更新的实时性与准确性,通过( )操作命令来保证数据表数据的完整性。[多选]
A.COMMIT
B.SAVEPOINT
C.DROP
D.ROLLBACK
10.数据控制语言(Data Control Language,DCL)规定了对表的权限控制操作语句,包括动词( ),以控制外部用户以及用户组对数据库对象的访问,在某些关系型数据库管理系统中可实现对数据表中单个列的访问控制。[多选]
A.GROUP BY
B.HAVING
C.GRANT
D.REVOKE
11.数据定义语言(Data Definition Language,DDL)规定了对表的构建操作语句,包括动词( ),以实现在数据库环境中创建数据表、修改表结构、删除表结构等,添加索引等与数据表相关的构建操作。[多选]
A.CREATE
B.ALTER
C.DROP
D.SELECT
12.数据表是数据库中主要的数据存储容器,表中的数据被组织成行和列,以下关于数据表的说法正确的是( )。[多选]
A.表中的每一列代表一种属性数据,称为字段
B.表中每列均有一个名称为数据表的字段名称
C.表中每列都具有一个指定的数据类型和容量大小
D.表中的一行代表一条信息数据
13.数据类型是数据表中数据种类的定义,代表了不同的信息类型,数据类型决定了数据在计算机磁盘中的存储格式。数据库中常见的数据类型有( )。[多选]
A.字节类型(CLASS、EXE、BAT)
B.数值类型(INTEGER、FLOAT、DOUBLE)
C.日期类型(YEAR、DATE、DATETIME、TIMESTAMP)
D.字符类型(CHAR、VARCHAR、TEXT)
1.数据的发展经历了哪些阶段?
2.数据库系统由哪几部分组成?
3.SQL语言包含哪六大语言模块?
4.什么是数据表?数据表的作用是什么?
5.数据表存储数据的原理及组成结构是怎样的?
6.什么是数据类型?常见的数据类型有哪些?