当前位置: 首页 > news >正文

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

目录

一、为什么要使用数据库

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客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库
  • SQL语句通过数据库管理系统操作数据库,以及操作数据库中的表结构及数据
  • 一个数据库服务器中可以创建多个数据库,
  • 一个数据库中也可以包含多张表,而一张表中又可以包含多行记录,一行记录包含多列

三、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环境变量。

相关文章:

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

目录 一、为什么要使用数据库 1. 以前存储数据的方式 2. 什么是数据库 3. 采用的数据库的好处 4. 如何理解数据库、数据库管理系统、SQL 5. 如何理解数据是有组织的存储 6. 现在的数据库 二、关系型数据系统 1. 什么是关系型数据库 2. 关系型数据库特点 3. 关系型数据…...

Java开发与实现教学管理系统动态网站

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…...

麒麟操作系统 MySQL 主从搭建

MySQL rpm64 架构搭建主从 文章目录 1.检查操作系统2.配置基础环境3.下载软件并安装4. 服务初始化5 主从搭建5.1 主节点配置(192.168.31.82)5.2 从节点配置(192.168.31.83)5.3 从节点配置(192.168.31.84)5.4 节点都重启5.5 在主机上建立帐户并授权slave5.6 salve 来同步master…...

OSSEC搭建与环境配置Ubuntu

尝试使用Ubuntu配置了OSSEC,碰见很多问题并解决了,发表博客让后来者不要踩那么多坑 环境 : server :Ubuntu22.04 64位 内存4GB 处理器4 硬盘60G agent: 1.Windows11 64位 2.Ubuntu22.04 64位 服务端配置 一、配置安装依赖项&…...

【RabbitMQ】消息分发、事务

消息分发 概念 RabbitMQ队列拥有多个消费者时,队列会把收到的消息分派给不同的消费者。每条消息只会发送给订阅该队列订阅列表里的一个消费者。这种方式非常适合扩展,如果现在负载加重,那么只需要创建更多的消费者来消费处理消息即可。 默…...

mysql mha高可用集群搭建

文章目录 mha集群搭建主从从部署基本环境准备安装mysql主从配置 mha部署故障修复 搭建完成 mha集群搭建 在 MySQL 高可用架构中,MHA(Master High Availability)通常采用一主多从的架构。 MHA 可以提供主从复制架构的自动 master failover 功…...

如何解决“json schema validation error ”错误? -- HarmonyOS自学6

一. 问题描述 DevEco Studio工程关闭后,再重新打开时,出现了如下错误提示: json schema validation error 原因: index.visual或其他visual文件中的left等字段的值为负数时,不能以”-0.x“开头,否则就会…...

基于Jeecg-boot开发系统--后端篇

背景 Jeecg-boot是一个后台管理系统,其提供能很多基础的功能,我希望在不修改jeecg-boot代码的前提下增加自己的功能。经过几天的折腾终于搞定了。 首先是基于jeecg-boot微服务的方式来扩展的,jeecg-boot微服务本身的搭建过程就不讲了&#x…...

Spring Boot实战:使用@Import进行业务模块自动化装配

案例背景: 假设我们正在开发一个电子商务平台,该平台需要处理大量的订单数据。为了简化订单处理服务的配置,我们可以利用Import注解来自动注册一些常用的工具类和服务组件。 业务场景描述: 我们需要一个服务来处理订单的创建、…...

Golang | Leetcode Golang题解之第415题字符串相加

题目: 题解: func addStrings(num1 string, num2 string) string {add : 0ans : ""for i, j : len(num1) - 1, len(num2) - 1; i > 0 || j > 0 || add ! 0; i, j i - 1, j - 1 {var x, y intif i > 0 {x int(num1[i] - 0)}if j &g…...

5. 数字证书与公钥基础设施

5. 数字证书与公钥基础设施 (1) PKI 的定义、组成及应用 PKI(Public Key Infrastructure,公钥基础设施) 是一个使用公钥技术来提供安全服务的框架。它定义了如何管理和维护公钥,以及如何通过证书来验证公钥的真实性。PKI的核心组成部分包括: 证书颁发机构(CA, Certifica…...

Centos中关闭swap分区,关闭内存交换

概述: Swap 分区是 Linux 系统中扩展物理内存的一种机制。Swap的主要功能是当全部的RAM被占用并需要更多内存时,用磁盘空间代理RAM内存。Swap对虚拟化技术资源损耗非常大,一般虚拟化是不允许开启交换空间的,如果不关闭Swap&…...

leetcode练习 二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3提示: 树中节点的数量在 [0, 104] 区间内。-100 …...

Scrapy爬虫框架 Items 数据项

在数据抓取和网络爬虫的开发中,Scrapy 框架以其强大的功能和灵活性,成为了开发者首选的工具之一。在一个典型的 Scrapy 项目中,数据项(Items)的定义、Spider 的应用,以及如何使用 ItemLoader 来加载和处理数据,都是开发过程中至关重要的环节。 本教程将分为几个主要部分…...

weblogic CVE-2018-2894 靶场攻略

漏洞描述 Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式"下默认不开启,所以该漏洞有⼀定限制。 漏洞版本 weblogic 10.3.6.0 weblogic 12.1.3.0 weblogic 12.2.1.2 28 weblogic 12.2.1.3 …...

百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现

0x01 产品简介 百易云资产管理运营系统,是专门针对企业不动产资产管理和运营需求而设计的一套综合解决方案。该系统能够覆盖资产的全生命周期管理,包括资产的登记、盘点、评估、处置等多个环节,同时提供强大的运营分析功能,帮助企业优化资产配置,提升运营效率。 0x02 漏…...

C++(2)进阶语法

C(2)之进阶语法 Author: Once Day Date: 2024年9月20日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 参考文…...

解决Hive乱码问题

在插入数据后,发现hive乱码 原因:Hive默认将存储表结构的元数据列编码设置为latin1,不支持中文 解决方法:在MySQL中修改对应Hive元数据列的编码 先查看mysql的所有字符集编码 1、先修改my.cnf 代码如下: vim /etc/…...

Streamlit:使用 Python 快速开发 Web 应用

一、简单介绍 Streamlit 是一个开源 Python 库,官网地址: https://streamlit.io/http://StreamlitStreamlit 是一个开源的 Python 框架,旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。 让没有任何前端基础…...

C#基础(11)函数重载

前言 前面我们已经完成了ref和out补充知识点的学习,以及函数参数相关的学习,今天便再次为函数补充一个知识点:函数重载。 函数重载是指在同一个作用域中,可以有多个同名函数,但参数列表不同。它的发展可以追溯到早期…...

JVM内存区域与溢出异常详解

当然可以。以下是结合了程序计数器和Java内存区域以及内存溢出异常的详细解释: JVM内存区域与内存溢出异常 Java虚拟机(JVM)管理着不同类型的内存区域,每个区域都有其特定的功能和可能导致的内存溢出异常。 程序计数器&#xff…...

JSON解析崩溃原因及解决方案

问题记录: /************************************************| * 描述: 将ID124执行NFC操作-JSON解析为结构体* 函数名: cJSON_ID124_to_struct* 参数[ I]: *json_string 待解析的指针* 参数[II]: *wireless_rxd 结构体指针* 返回: 成功返回0 失…...

华为云Flexus+DeepSeek征文|Dify - LLM 云服务单机部署大语言模型攻略指南

前言:在当今人工智能快速发展的时代,华为云推出的 Dify - LLM 对话式 AI 开发平台为企业和开发者提供了便捷的大语言模型应用开发解决方案。 通过在华为云 Flexus 云服务器上单机部署 Dify,并成功集成 DeepSeek 模型,我们能够快速…...

低空城市场景下的多无人机任务规划与动态协调!CoordField:无人机任务分配的智能协调场

作者:Tengchao Zhang 1 ^{1} 1 , Yonglin Tian 2 ^{2} 2 , Fei Lin 1 ^{1} 1, Jun Huang 1 ^{1} 1, Patrik P. Sli 3 ^{3} 3, Rui Qin 2 , 4 ^{2,4} 2,4, and Fei-Yue Wang 5 , 1 ^{5,1} 5,1单位: 1 ^{1} 1澳门科技大学创新工程学院工程科学系&#xff0…...

MYSQL too many connection问题排查和修复

1.连接数据库 mysql -u root -p 1.1 查看mysql路径 如果没有配置mysql的环境变量,可以直接找mysql的安装目录 打开任务管理器-》服务-》Mysql(根据版本不同后面带有数字,找运行的那个) 打开服务->mysql->属性-》可执行文件的路径,…...

MySQL的日志

就相当于人的日记本,记录每天发生的事,可以对数据进行追踪 一、错误日志 也就是存放错误信息的 二、二进制日志-binlog 在低版本的MySQL中,二进制日志是不会默认开启的 存放除了查询语句的其他语句 三、查询日志 查询日志会记录客户端的所…...

随机访问介质访问控制:网络中的“自由竞争”艺术

想象一场自由辩论赛——任何人随时可以发言,但可能多人同时开口导致混乱。这正是计算机网络中随机访问协议的核心挑战:如何让多个设备在共享信道中高效竞争?本文将深入解析五大随机访问技术及其智慧。 一、核心思想:自由竞争 冲突…...

【西门子杯工业嵌入式-5-串口实现数据收发】

西门子杯工业嵌入式-5-串口实现数据收发 一、通信基础1.1 什么是通信1.2 嵌入式系统中的通信 二、串行通信原理2.1 串行通信简介2.2 通信参数约定 三、GD32F470 串口资源与性能3.1 串口硬件资源 四、串口通信的实现4.1 串口初始化流程4.2 串口发送函数编写4.3 使用 printf 实现…...

(新手友好)MySQL学习笔记(6):分组查询,正则表达式

目录 分组查询 创建分组 过滤分组 分组查询练习 正则表达式 匹配单个实例 匹配多个实例 正则表达式练习 练习答案 分组查询练习答案 正则表达式练习答案 分组查询 创建分组 group by 子句:根据一个或多个字段对结果集进行分组,在分组的字段上…...

LabVIEW音频测试分析

LabVIEW通过读取指定WAV 文件,实现对音频信号的播放、多维度测量分析功能,为音频设备研发、声学研究及质量检测提供专业工具支持。 主要功能 文件读取与播放:支持持续读取示例数据文件夹内的 WAV 文件,可实时播放音频以监听被测信…...