【MySQL 系列】MySQL 起步篇

MySQL
130
0
0
2024-06-19
MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域,MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版,社区版完全免费,并且几乎能满足全部的使用场景。由于 MySQL 是开源的,我们还可以根据自己的需求,定制开发自己的特定版本。
1、MySQL 简介

MySQL 是一个数据库管理系统。如果我们要了解 MySQL 是什么,我们首先需要了解什么是数据库。

1.1、数据库介绍

顾名思义,数据库就是存档某些数据的仓库。但是这个仓库不是一个实体仓库,也不存储实体物品,而是存放数据。比如我们常见的:

  • 我们在大型超市购物时,我们购买的商品的价格和折扣等信息就存在一个数据库中。
  • 我们手机上的联系人信息是一个列表,这个列表数据也存在一个数据库中。
  • 电子商务网站中的商品的库存和价格信息也存在于服务器的数据库中。
  • 汽车 4S 店的服务客户的记录信息也会存储在一个数据库中。

可以说,在现在的信息化系统中,数据库无处不在。

数据库是一个以某种有组织的方式存储的数据集合。当人们收集了大量的数据后,应该把它们保存起来进一步的处理,进一步地抽取有用的信息。现在人们借助计算机和数据库技术科学地保存了大量的数据,以便更好地利用这些数据资源。

1.2、MySQL 简介

MySQL 是一个开放源代码的、免费的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。

MySQL 官网:https://www.mysql.com/

在 Web 开发领域,MySQL 是最流行、使用最广泛的关系数据库。

目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。

MySQL 的海豚标志的名字叫 “sakila”,它是由 MySQL AB 的创始人从用户在 “海豚命名” 的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者 Ambrose Twebaze 提供。根据 Ambrose 所说,Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的一个小镇的名字。

2008 年 1 月 16 日 MySQL AB 被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购。就这样如同一个轮回,MySQL 成为了 Oracle 公司的另一个数据库项目。

MySQL 是数据库的一种,具有数据库的通用特征,同时,比起其他类型的数据库,它还具有自己鲜明的特点。

MySQL 是一个小型的开源的关系型数据库管理系统。与其他大型数据库管理系统例如 Oracle、DB2、SQL Server 等相比,MySQL 规模小,功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用已经够用,这些特性使得 MySQL 成为世界上最受欢迎的开放源代码数据库。

MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL 数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。

由于 MySQL 是开放源代码的,因此任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改。MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。

1.3、MySQL 版本

针对不同的用户,MySQL 分为两个不同的版本:

  • MySQL 社区版:该版本完全免费,并且几乎能满足全部的使用场景。由于 MySQL 是开源的,我们还可以根据自己的需求,定制开发自己的特定版本;
  • MySQL 企业版服务器:为企业提供数据库应用,支持 ACID 事务处理,提供完整的提交、回滚、崩溃恢复和行政锁定功能。需要付费使用,官方提供技术支持。

对绝大多数应用而言,MySQL 社区版都能满足。

MySQL 可以在 UNIX、Linux、Windows 等各种平台上运行。并且不管是服务器还是桌面版本的 PC,都可以安装 MySQL,并且 MySQL 在各个平台都很可靠且速度快。

如果您开发网站或 Web 应用程序,MySQL 是一个不错的选择。MySQL 是 LAMP 堆栈的重要组件。 LAMP 网站架构是目前国际流行的 Web 框架, 其中包括 Linux、Apache、MySQL 和 PHP。

2、安装 MySQL 数据库

下载 MySQL 前往MySQL官网(https://dev.mysql.com/downloads/)下载适用于您操作系统的 MySQL 安装包。

安装 MySQL 按照安装包提示,安装 MySQL 数据库,并根据需要进行配置。

3、连接 MySQL 数据库

当我们安装好 MySQL 服务器后,就可以使用任何客户端程序(例如 mysql 命令行客户端和 Navicat)连接到 MySQL 服务器。

命令行不需要安装额外的程序,图形界面的程序更易于使用。我们可以根据自己的实际情况选择使用命令行程序还是图形界面的客户端连接到 MySQL 服务器。

3.1、使用 MySQL 命令行客户端

mysql 命令行客户端位于 MySQL 安装文件夹的 bin 目录中,打开 cmd / 终端 命令行窗口,使用命令导航到 MySQL 服务器 bin 目录下,使用以下命令连接到 MySQL 服务器:

./mysql -u root -p

-u root 意味着使用 root 用户连接到 MySQL 服务器; -p 指示 mysql 提示输入密码。

然后根据提示输入 root 帐户的密码,并按下回车键。验证通过后,显示以下输出代表进入了 MySQL 控制台:

mysql>

链接成功后,使用 SHOW DATABASES 显示当前服务器中的所有数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)

至此,使用 MySQL 命令行客户端成功连接到了 MySQL 服务器,并查询了所有的服务器。

3.2、使用 Navicat 连接 MySQL

Navicat 是一款功能强大的数据库管理工具,具有直观的用户界面和丰富的功能。使用 Navicat 连接数据库需要按照以下步骤操作:

步骤一、下载和安装 Navicat:打开你的 Web 浏览器,访问 Navicat 的官方网站,在官方网站上找到并下载适合你操作系统的 Navicat版本(Windows、macOS、Linux);

步骤二、启动 Navicat:完成安装后,双击 Navicat 图标启动该程序;

步骤三、创建数据库连接:在 Navicat 的起始页面,点击「连接」按钮或在顶部菜单栏选择「连接」,然后选择你要连接的数据库类型(例如 MySQL、PostgreSQL、SQL Server 等);

在「新连接」对话框中,输入连接数据库所需的信息,包括:

  • 连接名:可任意命名,以方便识别这个连接。
  • 主机名/IP地址:数据库服务器的主机名或IP地址。
  • 端口:数据库服务器的通信端口,默认情况下MySQL使用3306。
  • 用户名:连接数据库的用户名。
  • 密码:连接数据库的密码。
  • 数据库:连接的数据库名称,如果需要连接特定数据库,请填写该字段。

步骤四、测试连接,输入完连接信息后,点击“测试连接”按钮,确保连接信息填写正确。如果一切正常,点击「确定」保存这个连接。

步骤五:连接数据库,在 Navicat 主界面选择你刚刚创建的连接,双击该连接或点击「连接」按钮。成功连接后,你将能够查看数据库中的表格和其他对象,并可以执行相应的数据库管理操作。

4、MySQL 示例数据库

MySQL 官方提供了多个示例数据库,在MySQL的学习、开发和实践中具有非常重要的作用,能够帮助初学者更好地理解和应用 MySQL 的各种功能和特性。

官方示例数据库地址:https://dev.mysql.com/doc/index-other.html

4.1、Employees 示例数据库

Employees 数据库:这是一个非常大的数据集,包含了 6 张表,总共有 400 万条数据记录,可以用于测试和验证 MySQL 的性能和处理大数据量的能力。 数据集包含了员工、职位、部门等信息,以及一套测试和验证用的脚本和 SQL 语句。

Employees 数据库下载地址:https://github.com/datacharmer/test_db

首先,通过上述地址进行下载,下载后修改 employees.sql 文件,将相关的 source 语句相关文件目录修改为压缩包文件解压后的绝对地址:

vi employees.sql
---
SELECT 'LOADING departments' as 'INFO';
# 修改为绝对地址(source 后的都要修改)
source load_departments.dump ;
...

接下来,进入 MySQL 后使用 source 命令执行 employees.sql:

-- 需要修改为 employees.sql 所在的绝对地址
source employees.sql ;

等待数秒后即全部导入成功。

mysql> USE employees ;
Database changed
mysql> SHOW TABLES;
+----------------------+
| Tables_in_employees  |
+----------------------+
| current_dept_emp     |
| departments          |
| dept_emp             |
| dept_emp_latest_date |
| dept_manager         |
| employees            |
| salaries             |
| titles               |
+----------------------+
8 rows in set (0.01 sec)
4.2、World 示例数据库

MySQL 官方网站提供的示例数据库 world Database,包含了一个关于国家、城市和语言的实际数据集。该数据库包含了以下三个表:

  • country:该表包含了全球所有国家的信息,包括国家名称、首都、人口、面积、所属洲别等信息;
  • city:该表包含了世界各国的城市信息,包括所属国家、城市名称、人口等信息;
  • countrylanguage:该表包含了全球各国语言的信息,包括所属国家、语言名称、官方语言等信息。

通过这三个表之间的连结和查询,可以实现各种复杂的跨表查询功能,例如根据某个国家的首都查询该国家的语言、或者查询某个语言在全球范围内被哪些国家使用等等。

world Database 提供了一个非常实用的数据集,可以帮助开发人员更好地理解 MySQL 的查询语句、表关联和查询优化等概念。同时,通过该数据集,用户还可以编写实际的 SQL 查询语句以及应用程序,提高自己的 MySQL 编程技能。

4.3、Sakila 示例数据库

Sakila 示例数据库是使用最广泛的示例数据库之一,也是最好的示例数据库之一。Sakila 示例数据库最初由 MySQL AB 文档团队的前成员 Mike Hillyer 开发。它旨在提供一个标准模式,可用于书籍、教程、文章等中的示例演示。

Sakila 数据库为 DVD 租赁商店业务建模,其中包含影片、演员、影片与演员关系等内容,以及连接影片、商店和租赁业务的中央库存表。

作为最好的示例数据库之一,Sakila 数据库已经被移植 PostgreSQL, Oracle, DB2, SQLite 等平台。