【MySQL 系列】MySQL 起步篇

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


文章目录

        • 1、MySQL 简介
          • 1.1、数据库介绍
          • 1.2、MySQL 简介
          • 1.3、MySQL 版本
        • 2、安装 MySQL 数据库
        • 3、连接 MySQL 数据库
          • 3.1、使用 MySQL 命令行客户端
          • 3.2、使用 Navicat 连接 MySQL
        • 4、MySQL 示例数据库
          • 4.1、Employees 示例数据库
          • 4.2、World 示例数据库
          • 4.3、Sakila 示例数据库


1、MySQL 简介

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

1.1、数据库介绍

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

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

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

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

1.2、MySQL 简介

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

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

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

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

image-20240304154003702

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 数据库,并根据需要进行配置。

  • 在 Windows 上安装 MySQL
  • 在 MacOS 上安装 MySQL
  • 在 CentOS 上安装 MySQL
  • 在 Ubuntu 上安装 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 等);

image-20240304173226339

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

  • 连接名:可任意命名,以方便识别这个连接。
  • 主机名/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 等平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/520402.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python创建和上传自己的PyPI库

文章目录 创建和上传自己的PyPI库pypi准备文件制作PyPI包在上传前,先本地验证注册PyPI账户上传pypi判断python包质量之 SourceRankLibraries.io 参考 创建和上传自己的PyPI库 pypi 官方地址:https://pypi.org/ Python中我们经常会用到第三方的包&…

第一次捡垃圾

配置 cpu e3 1225 v6 淘宝 130 显卡 p106-100(1060矿卡的特称) 咸鱼 118 内存 8g 3200频率 2 咸鱼 702140 硬盘 128g 固态 咸鱼 35 主板 ex-b150m-v3 咸鱼 110 电源 400w 咸鱼 58 4热管cpu散热器 咸鱼 28 机箱 迷你 拼多多 28 电源线 1m5 淘宝 8 pcie转m.2 拼多多 9 编程器 用…

2.类和对象-运算符重载

文章目录 运算符重载1.运算符重载2.<<运算符重载3.运算符重载4.运算符重载5.和!运算符重载6.()运算符重载 运算符重载 1.运算符重载 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string>using namespace std;class Person { public:/*类…

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

【netty系列-02】深入理解socket本质和BIO底层实现

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478 深入理解socket本质和bio底层实现 …

Go编译报错 link: running gcc failed: exit status 1(已解决)

背景 在对一个开源的Go程序二次开发 重新编译时 &#xff0c; 报错截图如下 报错文字如下&#xff1a;关键信息 link: running gcc failed: exit status 1 $ go build -o orchestrator-didi -i go/cmd/orchestrator/main.go go build: -i flag is deprecated # command-li…

Lego-loam 算法三维建图

运行环境 Linux&#xff1a;Ubuntu18.04ros&#xff1a;MelodicCeres Solver 2.0.0&#xff08;Ubuntu18.04安装Ceres&#xff09;PCL 1.8.1&#xff08;Ubuntu系统的PCL、Eigen卸载和安装&#xff09; 运行数据集 lego-loam 39/39 终端一&#xff1a;进入catkin_ws工作空间…

【Flink网络数据传输】OperatorChain的设计与实现

文章目录 1.OperatorChain的设计与实现2.OperatorChain的创建和初始化3.创建RecordWriterOutput 1.OperatorChain的设计与实现 OperatorChain的大致逻辑 在JobGraph对象的创建过程中&#xff0c;将链化可以连在一起的算子&#xff0c;常见的有StreamMap、StreamFilter等类型的…

字符函数

1.字符分类函数 专门做字符分类的函数&#xff0c;都包含一个头文件#include <ctype.h> islower() 是一个用于判断字符是否为小写字母的函数。 通常情况下&#xff0c;如果一个字符是小写字母&#xff0c;则 islower() 函数会返回 true 或者一个表示真的值&#xff08…

【变量提升】关于JavaScript变量提升的理解,它导致了什么问题?

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;JavaScript小贴士 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继续…

大模型笔记:最少到最多提示过程 (Least to Most prompting, LtM)

LEAST-TO-MOST PROMPTING ENABLES COMPLEX REASONING IN LARGE LANGUAGE MODELS 2023 ICLR 1 概述 进一步发展维链提示过程 (CoT prompting) 分为两个阶段&#xff1a; 第一阶段&#xff1a;向语言模型提出查询&#xff0c;将问题分解成子问题。第二阶段&#xff1a;再次向语…

Z Potentials | 星爵,他的征途不止向量数据库

纵观过去几十年的科技发展史&#xff0c;每一代新的技术架构的出现往往都伴随着新的数据范式的出现&#xff0c;也催生了多家百亿到千亿美金数据平台的诞生。如果说 2023 年科技领域的关键词是 LLM&#xff0c;那么数据库领域的关键词一定非向量数据库莫属。向量数据库是一种专…