【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.mzph.cn/news/729424.shtml

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

相关文章

统信os平台普通用户无法调用clockdiff的问题解决方法

问题描述 部署OceanBase 时遇到clockdiff: socket: operation not permitted 问题,从官网了解到可以通过setcap cap_net_rawep "$(which clockdiff)"解决 在centos平台,这个可以解决问题,但是在统信os平台失败了。。 参考: Ocea…

怎么把一个视频分割成几个?技巧在这里

在视频编辑的过程中,有时我们需要将一个较长的视频细分成多个部分,以便更灵活地进行处理、调整或分享。这个过程可以帮助我们有效管理视频内容,提取关键片段,并且适应不同的发布需求。在本文中,我们将深入探讨怎么把一…

JavaScript改变this指向的三种方法

在JavaScript中,可以使用call()、apply()或bind()来改变函数的this指向。 1.call(): 通过调用函数并传入新的上下文对象作为参数,将函数内部的this关键字指向该对象。示例代码如下所示 function greet(name) {console.log("Hello " name); …

机器学习笔记 DeepFakes和换脸技术简述

一、简述 人脸检测一直是 2000 年代初的主要研究课题。差不多二十年后,这个问题基本上得到了解决,并且人脸检测在大多数编程语言中都可以作为库使用。甚至换脸技术也不是什么新鲜事,并且已经存在了好些年了。 早在2016年左右就有基于OpenCV进行面部交换的方式了,主要是基于…

第107讲:Mycat实践指南:取模分片下的水平分表详解

文章目录 1.使用取模分片水平分表2.水平分表取模分片案例2.1.准备测试的表结构2.2.配置Mycat实现范围分片的水平分表2.2.1.配置Schema配置文件2.2.2.配置Rule分片规则配置文件2.2.3.配置Server配置文件2.2.4.重启Mycat 2.3.写入数据观察水平分表效果 1.使用取模分片水平分表 平…

SVG 渐变边框在 CSS 中的应用

SVG 渐变边框在 CSS 中的应用 <template><div class"home"><div class"one"><svg width"100%" height"100%"><rect x"2" y"2" width"100%" height"100%" fill&q…

【扩散模型系列1】扩散模型背景|DDPMs|LDM

目录 概述DPMDDPM前向加噪反向去噪UNet 训练阶段推理阶段 IDDPMClassifier GuidanceGLIDELDM模型结构VAE扩散模型U-Net 训练阶段推理阶段 参考资料 概述 扩散模型&#xff1a;和其他生成模型一样&#xff0c;实现从噪声&#xff08;采样自简单的分布&#xff09;生成目标数据样…

鸿蒙开发(七)添加常用控件(上)

相信大家已经对鸿蒙开发的布局有了基本的了解。之前我们提到过&#xff0c;一个好的UI&#xff0c;离不开选择合理的布局。当然&#xff0c;也离不开适当的控件。本篇文章&#xff0c;带着大家一起学习下如何在页面里面添加常用的控件。由于控件较多&#xff0c;我会分为两篇文…

Windows®、Linux® 和 UNIX® 系统都适用的远程桌面工具 OpenText ETX

Windows、Linux 和 UNIX 系统都适用的远程桌面工具 OpenText ETX 为 Windows、Linux 和 UNIX 实施精益、经济高效的虚拟化&#xff1b;提供完整的远程 Windows 可用性&#xff1b;以类似本地的性能远程工作&#xff1b;安全地保护系统和知识产权&#xff08;IP&#xff09;&am…

关于 Runes 协议及「公开铭刻」发行机制的拓展讨论

撰文&#xff1a;MiX 编辑&#xff1a;Faust&#xff0c;极客 web3 2024 年 3 月 2 日&#xff0c;Runes 生态基础设施项目 Rune alpha 的创始人&#xff0c;在 Github 的公开议题中&#xff0c;与 Runes 协议创始人 Casey 展开了讨论&#xff0c;双方对如何拓展 Runes 协议的…

智慧灯杆-智慧城市照明现状分析(1)

城市道路照明是城市公共设施的重要组成部分,而随着城镇化建设的推进,城市道路照明路灯的数量越来越多,能耗越来越高,供电趋于紧张。此外,城市照明的维护工作和高昂的维护成本(人工控制、路灯巡查等),给城市管理造成了巨大的困难。管理部门需要更有效率的管理和节能方案…

支持向量机 SVM | 线性可分:软间隔模型

目录 一. 软间隔模型1. 松弛因子的解释小节 2. SVM软间隔模型总结 线性可分SVM中&#xff0c;若想找到分类的超平面&#xff0c;数据必须是线性可分的&#xff1b;但在实际情况中&#xff0c;线性数据集存在少量的异常点&#xff0c;导致SVM无法对数据集线性划分 也就是说&…

Kubernetes Operator开发实践

Operator 介绍 Operator 可以看成是 CRD Controller 的一种组合资源。Kubernetes 中的基础资源类型有 Pod、Service、Job、Deployment 等表达能力有限&#xff0c;CRD 则提供了创建新的资源类型方式&#xff1b;Controller 监听 CRD 对象实例的增、删、改事件&#xff0c;然后…

GIS在地质灾害危险性评估与灾后重建中的应用

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…

GSA、GSEA、ssGSEA、GSVA用到的统计学知识点

文章目录 概率密度函数&#xff08;probability density function&#xff0c;PDF&#xff09;分布函数&#xff08;Cumulative Distribution Function&#xff0c;CDF&#xff09;核密度估计&#xff08;KDE&#xff09;经验累计分布函数&#xff08;Empirical Cumulative Dis…

source not found for数组a的引用Exception

identityHashCode(数组名&#xff09; adressidentityHashCode(a)//将得到数组a的哈希值。在同一个数据类型下&#xff0c;同一对象的哈希值是一样的&#xff0c;同一哈希值对应同一对象。由于不同数据类型的变量哈希值生成算法不同&#xff0c;所以在数据类型不同的情况下&am…

关于esp8266的一些经验汇总,新手必看

说实话&#xff0c;esp8266的nodemcu 已经使用了2年多了&#xff0c;各种问题遇到过&#xff0c;就尝试各种解决&#xff0c;而现在回头来看真的是稀里糊涂的在用&#xff0c;当然这个问题也同样涉及到esp32. 因为最近打算自己打一块esp8266的板&#xff0c;之前打的比较多的是…

Redis冲冲冲——Redis分布式锁如何实现

目录 引出Redis分布式锁如何实现Redis入门1.Redis是什么&#xff1f;2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证…

从根到叶:深入理解二叉搜索树

我们的心永远向前憧憬 尽管活在阴沉的现在 一切都是暂时的,转瞬即逝, 而那逝去的将变为可爱 &#x1f31d;(俄) 普希金 <假如生活欺骗了你> 1.二叉搜索树的概念 概念:搜索树&#xff08;Search Tree&#xff09;是一种有序的数据结构&#xff0c;用于存储和组…

Facebook商城号为什么被封?防封养号技巧

由于Facebook商城的高利润空间&#xff0c;越来越多的跨境电商商家注意到它的存在。Facebook作为全球最大、用户量最大的社媒平台&#xff0c;同时也孕育了一个巨大的商业生态&#xff0c;包括广告投放、商城交易等。依托背后的大流量&#xff0c;Facebook商城起号较快&#xf…