MySQl篇(基本介绍)(持续更新迭代)

devtools/2024/11/13 9:34:01/

目录

一、为什么要使用数据库

1. 以前存储数据的方式

2. 什么是数据库

3. 采用的数据库的好处

4. 如何理解数据库数据库管理系统、SQL

5. 如何理解数据是有组织的存储

6. 现在的数据库

二、关系型数据系统

1. 什么是关系型数据库

2. 关系型数据库特点

3. 关系型数据库的通用性

4. 关系型数据库模型

三、MySQL 简介

1. 简介

2. 版本

3. 优势

4. 安装/卸载/配置

5. MySQL服务启动/停止

5.1. MySQL 服务启动(命令行方式,管理员身份)

5.2. mysql 服务停止(命令行方式,管理员身份)

5.3. 总结

6. 客户端连接

方式一:使用MySQL提供的客户端命令行工具

方式二:使用系统自带的命令行工具执行指令


一、为什么要使用数据库

1. 以前存储数据的方式

首先,我先说一说没有用数据库存储的缺陷过程吧!

就像我们以前:我们存储数据的方式,依次为:采用数组在内存中存储数据 -> 集合在内存中存储

数据 -> 文件进行存储数据

  • 如果我们采用数组或集合在内存中存储数据的话,我们就不能将数据进行持久化存储,只能当做临时数据使用
  • 如果我们采用文件存储数据的话,我们就无法对数据进行检索和管理等

因此,我们就需要借助数据库来帮助我们来完成这一系列操作,相应的这些数据库也是交给我们这

数据库管理系统进行管理!

2. 什么是数据库

数据库就是用于存储和管理数据的仓库,英文:DataBase(简称:DB),而在数据库中的数据也

是有组织的进行存储!

3. 采用的数据库的好处

如果我们采用数据库存储数据的话,我们不仅可以持久化存储数据(瞬时数据转化为永久数据),

也可以方便存储和管理数据(因为文件不便于管理数据,那就由数据库来管理),

还可以统一的方式操作数据库 SQL(MySQL、Oracle、SqlServer等关系型数据库管理系统 SQL

操作方式基本一致,但是关系型数据存在SQL方言)

4. 如何理解数据库数据库管理系统、SQL

在这一部分,我们先来讲解三个概念:数据库数据库管理系统、SQL。

名称

全称

简称

数据库

存储数据的仓库,数据是有组织的进行存储

DataBase(DB)

数据库管 理系统

操纵和管理数据库的大型软件

DataBase Management System (DBMS)

SQL

操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

Structured Query Language (SQL)

而目前主流的关系型数据库管理系统的市场占有率排名如下:

查看数据库管理系统最新排名:

DB-Engines Ranking - popularity ranking of database management systems

  1. Oracle大型的收费数据库,Oracle公司产品,价格昂贵。
  2. MySQL开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。 目前Oracle

推出了收费版本的MySQL,也提供了免费的社区版本。

  1. SQL ServerMicrosoft 公司推出的收费的中型数据库,C#、.net等语言常用。
  2. PostgreSQL开源免费的中小型数据库
  3. DB2IBM公司的大型收费数据库产品。
  4. SQLLite嵌入式的微型数据库。Android内置的数据库采用的就是该数据库
  5. MariaDB开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与MySQL数据库

有很好的兼容性。

等等等

而不论我们使用的是上面的哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操

作, 因为我们前面讲到SQL语言,是操作关系型数据库的 统一标准 。所以即使我们现在学习的是

MySQL, 假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、

SQLServer,也完全不用 担心,因为操作的方式都是一致的。

5. 如何理解数据是有组织的存储

例如:一对一,一对多,多对多,这样设置,就是让我们的数据进行有组织的存储

6. 现在的数据库

而我们的数据库主要分为关系型数据库和非关系型数据库

  • 对于关系型数据库的话,我比较熟悉的是MySQL、其次就是Oracle、然后听闻过SQLServer!
  • 对于非关系数据库的话,我比较熟悉的是Redis、其次就是MongoDB、然后了解过EleasticSearch!

二、关系型数据系统

1. 什么是关系型数据库

关系型数据库指的是多张相互连接的二维表组成的数据库,所谓二维表指的就是由行和列组成的

表,如下图(就类似于Excel表格数据,有表头、有列、有行, 还可以通过一列关联另外一个表格

中的某一列数据)。还有MySQL、Oracle、DB2、SQLServer这些都属于关系型数据库,里面都

是基于二维表存储数据的。

简单来说:基于二维表存储数据的数据库就是关系型数据库,不是基于二维表存储数据的数据库

是非关系型数据库

如下典型的二维表结构:

2. 关系型数据库特点

  • 使用表存储数据,格式统一,便于维护
  • 使用SQL语言操作,标准统一,使用方便

3. 关系型数据库的通用性

正如前面所说,无论使用哪一种关系型数据库,操作时,都是使用SQL语言来进行统一操作

SQL语言是操作关系型数据库的统一标准,即使到了公司,使用别的关系型数据库,如:Oracle、

DB2、SQLServer,操作方式基本一致性的,就相当于学了MySQL的SQL语法,其他关系型数据

库上手也很快,只是不同关系型数据库可能存在细小差别的SQL方言!

4. 关系型数据库模型

MySQL是关系型数据库,是基于二维表进行数据存储的,具体的结构图下:

上图可知

三、MySQL 简介

在这里,我们主要针对MySQL数据库的介绍、下载、安装、启动及连接。

1. 简介

MySQL是属于关系型数据库的一类,它是开源免费的中小型数据库,后来Sun公司收购了

MySQL,而Oracle又收购了Sun公司,现在,MySQL属于Oracle,目前,MySQL主流的两个版本

是MySQL5.7和MySQL8,MySQL5.7占用磁盘空间相比较MySQL8要少,基本上,现在MySQL也

开始迈向MySQL8。

学习网址:MySQL 创建数据库 | 菜鸟教程

参考:MySQL(关系型数据库管理系统)_百度百科

官网: MySQL

下载地址:MySQL :: Download MySQL Installer (Archived Versions)

官网文档参考:MySQL :: MySQL Documentation

MySQL函数文档:MySQL :: MySQL 8.0 Reference Manual :: 14 Functions and Operators

2. 版本

官方: MySQL

针对不同用户,MySQL提供三个不同的版本。

  • MySQL Enterprise Server(企业版)能够以更高的性价比为企业提供数据仓库应用,该版本需要付费使用,官方提供电话技术支持。
  • MySQL Cluster(集群版)MySQL 集群是 MySQL 适合于分布式计算环境的高可用、高冗余版本它采用了 NDB Cluster 存储引擎,允许在 1 个集群中运行多个 MySQL 服务器它不能单独使用,需要在社区版或企业版基础上使用
  • MySQL Community Server(社区版)在开源GPL许可证之下可以自由的使用。该版本完全免费,但是官方不提供技术支持MySQL5.7(RC)是当前稳定的发布系列(本人以前使用过,现在已经不再使用)MySQL8.0.26(GA)是最新开发的稳定发布系列(本人使用的就是 MySQL 8 版本)

3. 优势

  • 可移植性:MySQL数据库几乎支持所有的操作系统,如Linux、Solaris、FreeBSD、Mac和Windows
  • 开源免费(6版本之前开源免费)
  • 关系型数据库:MySQL可以利用标准SQL语法进行查询和操作。
  • 速度快、体积小、容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习MySQL的早期版本(主要使用的是MyISAM引擎)在高并发下显得有些力不从心随着版本的升级优化(主要使用的是InnoDB引擎)
  • 安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全
  • 丰富的接口:提供了用于C、C++、Java、PHP、Python、Ruby和Eiffel、Perl等语言的API
  • 灵活:MySQL并不完美,但是却足够灵活,能够适应高要求的环境同时,MySQL既可以嵌入到应用程序中,也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事务处理系统等各种应用类型
  • MySQL最重要、最与众不同的特性是它的存储引擎架构:这种架构的设计将查询处理(Query Processing)及其他系统任务的这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式,MySQL中同一个数据库,不同的表格可以选择不同的存储引擎其中使用最多的是 InnoDB 和MyISAM,MySQL5.5之后InnoDB是默认的存储引擎

4. 安装/卸载/配置

5. MySQL服务启动/停止

5.1. MySQL 服务启动(命令行方式,管理员身份)

MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,我们无需手动启动了。

当然,也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:

语法:

net start mysql服务

注意:忘了服务名的可以去系统服务列表查看,打开DOS窗口输入命令:

services.msc

例如:

net start mysql80

5.2. mysql 服务停止(命令行方式,管理员身份)

语法:

net stop mysql服务名

注意:忘了服务名的可以去系统服务列表查看,打开DOS窗口输入命令:

services.msc

例如:

net stop mysql80

5.3. 知识小结

注意 : 上述的 mysql80 是我们在安装MySQL时,默认指定的mysql的系统服务名,不是固 定的,

如果未改动,默认就是mysql80

当然除了命令行方式,还可以直接去服务列表进行启动/停止

6. 客户端连接

方式一:使用MySQL提供的客户端命令行工具

方式二:使用系统自带的命令行工具执行指令

mysql [-h 127.0.0.1] [-P 3306] -u root -p

参数:

-h : MySQL服务所在的主机IP -P: MySQL服务端口号, 默认3306-u: MySQL数据库用户名 -p:MySQL数据库用户名对应的密码

[] 内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,

如果连接本地的MySQL,则无需指定这两个参数。

注意: 使用这种方式进行连接时,需要安装完毕后配置PATH环境变量。


http://www.ppmy.cn/devtools/114305.html

相关文章

Activiti7《第二式:破剑式》——工作流中的以柔克刚

冲冲冲!开干 这篇文章将分为九个篇章,带你逐步掌握工作流的核心知识。这篇文章将带你深入探讨工作流中的 “破剑式”,揭示如何通过 柔与刚 的结合来破解工作流的复杂性。本篇包含了 Activiti7 环境的进一步优化和表结构的深入分析&#xff0…

k8s中的lables和matchlables的作用

statefulset中的labels和matchlables labels 是一种键值对,可以被附加到任何 Kubernetes 资源(如 Pods、Services、ConfigMaps 等),用于为资源添加元数据。你可以使用 labels 对资源进行分组或标识,以方便管理和查询。…

neo4j安装启动教程+对应的jdk配置

参考这位博主的视频教程:neo4j社区windows版下载 一、官网下载neo4j的安装包 (1)官网下载页面 (2)上一步 【download】之后,会自动下载,如果没有,点击【here】 这里可以看到一行字…

Python数据分析工具(三):pymssql的用法

pymssql 是一个 Python 模块,用于在 Python 程序中连接 Microsoft SQL Server 数据库。它提供了一个简单的接口来执行 SQL 命令,并处理数据库查询的结果。下面是一些使用 pymssql 的基本步骤和示例。 安装 pymssql 首先,你需要确保已经安装了…

胤娲科技:解锁AI奥秘——产品经理的智能进化之旅

当AI不再是遥不可及的科幻 想象一下,你走进一家未来感十足的咖啡厅,无需言语,智能咖啡机就能根据你的偏好调制出一杯完美的拿铁; 打开手机,AI助手不仅提醒你今天有雨,还贴心推荐了最适合雨中漫步的音乐列表…

【系统架构设计师】ATAM(Architecture Tradeoff Analysis Method)

ATAM(Architecture Tradeoff Analysis Method)是一种软件架构评估方法,主要用于在软件设计早期阶段对系统架构进行评估。这种方法帮助开发团队识别潜在的性能瓶颈、安全漏洞、可维护性问题等,并且在需求与架构之间进行权衡,从而确保所选架构能够满足系统的非功能性需求。 …

阿里巴巴拍立淘API返回值:商家优化商品信息的参考

阿里巴巴的拍立淘API 本身主要设计用于图像识别搜索,其返回值通常包含搜索到的商品列表及其相关信息,如商品ID、图片URL、标题、价格等,但并不直接提供针对特定商家如何优化商品信息的代码或详细指导。不过,我可以为你提供一个概念…

【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧

文章目录 Python NumPy学习指南前言第六部分:NumPy在科学计算中的应用1. 数值积分使用梯形规则进行数值积分使用Simpson规则进行数值积分 2. 求解微分方程通过Euler方法求解一阶常微分方程使用scipy.integrate.solve_ivp求解常微分方程 3. 随机过程模拟模拟布朗运动…