MySQL——数据库入门指南

目录

一:本节⽬标

二:数据库简介

[2.1 什么是数据库](#2.1 什么是数据库)

[2.2 为什么要使⽤数据库](#2.2 为什么要使⽤数据库)

[2.3 主流数据库](#2.3 主流数据库)

[2.3.1 关系型数据库](#2.3.1 关系型数据库)

[2.3.2 ⾮关系型数据库](#2.3.2 ⾮关系型数据库)

[2.4 什么是关系型数据库](#2.4 什么是关系型数据库)

三:MySQL的安装和配置

[3.1 安装MySQL](#3.1 安装MySQL)

[3.2 mysqld服务端程序](#3.2 mysqld服务端程序)

[3.3 数据库服务器,数据库与表之间的关系](#3.3 数据库服务器,数据库与表之间的关系)

[四 :客⼾端⼯具](#四 :客⼾端⼯具)

[4.1 mysql](#4.1 mysql)

[4.2 Workbench](#4.2 Workbench)

[4.3 Navicat Lite版](#4.3 Navicat Lite版)

五:客⼾端与服务器的通讯⽅式

[5.1 C/S架构与B/S架构](#5.1 C/S架构与B/S架构)

[5.1.1 CS 架构](#5.1.1 CS 架构)

[5.1.2 BS 架构](#5.1.2 BS 架构)

[六: SQL简介](#六: SQL简介)

[6.1 什么是SQL](#6.1 什么是SQL)

[6.2 SQL分类](#6.2 SQL分类)

七:MySQL架构


一:本节⽬标

掌握关系型数据库,数据库的作⽤

掌握在Windows系统下安装MySQL数据库

了解客⼾端⼯具的基本使⽤和SQL分类

了解MySQL架构和存储引擎

二:数据库简介

2.1 什么是数据库

数据库是20 世纪 60 年代末发展起来的⼀项重要技术,已经成为计算机科学与技术的⼀个重要分⽀。数据库技术主要是⽤来解决数据处理的⾮数值计算问题,数据处理的主要内容是数据的存储、查询、修改、排序和统计等。

2.2 为什么要使⽤数据库

1:数据持久化:数据库可以将数据保存在存储介质中,即使应⽤程序关闭或服务器重启,数据也不会丢失。

**2: 数据结构化:**数据库能够以结构化的⽅式存储数据,使得数据易于管理和查询。

**3: 数据完整性:**数据库管理系统(DBMS)提供了数据完整性的保障,确保数据的准确性和⼀致性。

**4 :并发控制:**数据库可以处理多个⽤⼾或进程同时访问和修改数据,同时确保数据的⼀致性。

5:安全性:数据库提供了多种安全机制,如访问控制、加密等,保护数据不被未授权访问。

6:可扩展性:随着数据量的增⻓,数据库可以⽔平或垂直扩展,以适应不断增⻓的数据需求。

7:备份和恢复:数据库⽀持数据的备份和恢复,以防数据丢失或损坏。

8:查询优化:数据库系统提供了⾼效的查询优化器,可以快速执⾏复杂的查询操作。

9:事务管理:⼤部分关系型数据库都⽀持事务,确保⼀系列操作要么完全成功,要么完全失败,提⾼了操作的可靠性。

10:多⽤⼾⽀持:数据库允许多个⽤⼾同时访问和操作数据,适合多⽤⼾环境。

2.3 主流数据库

2.3.1 关系型数据库

Oracle: 甲⻣⽂产品,适合⼤型项⽬,业内最强的数据库,没有之⼀,需要收费。(行业大佬)

MySQL:开源免费,最受欢迎的数据库,在中⼩企业中普及率⾮常⾼,属于甲⻣⽂,主要⽤在电商,论坛等。

PostgreSQL:加州⼤学伯克利分校计算机系开发的关系型数据库,可以免费使⽤,修改和分发。

SQL Sever: 微软推出的⼀款专业级数据库,与旗下的操作系统,编程环境配合使⽤,适⽤于中⼤型项⽬。

SQLite: ⼀款轻型的数据库,占⽤资源⾮常低,常⽤于嵌⼊式设备,⼿机APP,桌⾯程序等场景。

2.3.2 ⾮关系型数据库

Redis:流⾏的基于键值对的内存数据库,常⽤作缓存,⽀持数据持久化,⽀持多种数据结构。

MongoDB:基于NoSQL的⽂档型数据库,易扩展,⾼性能,⾼可⽤性,⽀持丰富的查询和聚合操作。

2.4 什么是关系型数据库

关系型数据库是指采⽤了关系模型来组织数据的数据库,以⾏和列的形式存储数据。关系模型可以简单理解为⼆维表格模型,⽽⼀个关系型数据库就是由⼆维表及其之间的关系组成的⼀个数据组织。

每个表中的每⼀条记录称为⼀⾏数据,每⼀个数据⾏由⼀个或多个列组成

三:MySQL的安装和配置

3.1 安装MySQL

安装和配置 博主 不做过多讲解,建议去问问老师,或者看看b站比较可靠的up主,去安装和配置MySQL。注意 建议不要去搞注册表,不要搞注册表。

3.2 mysqld服务端程序

当MySQL安装完成之后,bin⽬录下有⼀个mysqld(Linux)或mysqld.exe(windoows)的可执⾏程序,mysqld可执⾏程序运⾏后,MySQL服务也就启动了。当把MySQL服务配置为⾃启动,操作系统启动时会⾃动运⾏mysqld可执⾏程序,从⽽启动MySQL服务。

如图任务管理器:

mysqld中的d代表后台

3.3 数据库服务器,数据库与表之间的关系

数据库服务器是指在机器上安装了⼀个数据库管理系统程序,这个管理程序可以管理多个数据库,⼀般开发⼈员会针对每⼀个应⽤创建⼀个数据库。

为保存应⽤中实体的数据,⼀般会在数据库中创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如下:

服务器代表电脑

数据软件管理数据库

数据表属于数据库

我们画个图解释一下:

数据库服务器上运行着数据库软件

数据库软件管理不同系统对应的数据库

数据库中包含多张数据表

数据表中包含很多数据行

四 :客⼾端⼯具

4.1 mysql

MySQL安装成功后⾃带的命令⾏客⼾端⼯具,可以输⼊命令和执⾏SQL语句,mysql的基本使⽤⾮常简单,打开终端并输⼊以下命令:

使⽤前检查PATH环境变量中是否配置了mysql所在⽬录

下载mysql目录寻找bin 然后 到此电脑属性的高级系统设置,path配置,然后新建配置 添加。

mysql -uroot -p

-u表示登录名 -p表示密码

使⽤mysql客⼾端连接服务器

SQL语句 服务器当前版本号

4.2 Workbench

MySQL官⽅提供的可视化客⼾端⼯具,运⾏后如下所⽰:

业内⼴泛使⽤的可视化客⼾端⼯具,现在出了免费的Lite版本,对于学习中编写SQL语句完全够⽤,推荐使⽤,第⼀次使⽤要先配置连接,如下图所⽰:

新建连接

配置连接并测试

五:客⼾端与服务器的通讯⽅式

5.1 C/S架构与B/S架构

C/S架构即客⼾端 / 服务器架构模式

B/S架构即浏览器 / 服务器架构模式

5.1.1 CS 架构

C/S 架构全称是客⼾端 / 服务器(Client / Server)架构,是常⽤的两层架构。客⼾端需要安装客⼾端软件,服务端程序运⾏在服务器上,提供Socket或数据库服务。

使⽤客⼾端与MySQL数据库服务器通讯属于C/S架构

常⽤于固定⽤⼾群体中。常⻅的C/S架构的应⽤,⽐如QQ,CCTALK,各种⽹络游戏等等,⼀般需

要安装并且与服务器进⾏⽹络通信的都属于此类。
优点:

⼤部分业务都可以在客⼾端完成,充分利⽤本地的计算机资源

响应速度快

个性化定制能⼒强

⾯向相对固定的⽤⼾群,对信息安全的控制能⼒强
缺点:

需要安装客⼾端才能使⽤

维护成本⾼,任何⼀台电脑上的客⼾端出现问题都需要进⾏维护,升能过程繁琐

5.1.2 BS 架构

B/S架构全称是浏览器 / 服务器(Browser/Server)结构,分为Web浏览器、服务器程序、数据库服务三部分,可以理解为是对C/S架构⼀种改进。由于所有的业务逻辑都由服务器程序处理,所以客⼾端仅使⽤浏览器就可以完成所有操作,⼤⼤降低了客⼾端的维护成本。

常⽤于对公开⽤⼾提供的⽹络服务中。⽐如常⻅的⼤型⽹站都属于此类。

优点:

客⼾端零维护,只需要安装⼀个浏览器即可

所有业务都集中在服务器端,业务扩展⾮常⽅便

维护成本低,只需要维护服务器即可

缺点:

服务器安全与业务处理能⼒需要花费很⼤精⼒与成本

不同浏览器⽀持不尽⼈意

六: SQL简介

6.1 什么是SQL

SQL(Structured Query Language)是结构化查询语⾔的简称,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库。

6.2 SQL分类

数据库级别

DDL【Data Definition Language】 数据定义语⾔,⽤来维护存储数据的结构

代表指令: create, drop, alter

数据行级别

DML【Data Manipulation Language】 数据操纵语⾔,⽤来对数据进⾏操作

代表指令: insert,delete,update,select

权限事务相关 管理工作

DCL【Data Control Language】 数据控制语⾔,主要负责权限管理和事务

代表指令: grant,revoke,commit

七:MySQL架构

MySQL8.0服务器是由连接池、服务管理⼯具和公共组件、NoSQL接⼝、SQL接⼝、解析器、优化器、缓存、存储引擎、⽂件系统组成。MySQL还为各种编程语⾔提供了⼀套⽤于外部程序访问服务器的连接器。整体架构图如下所⽰:

外部程序:客户端/应用程序

连接层:鉴权/管理连接

服务层:解析工作,优化(类似编译)

存储引擎层:处理数据,MySQL核心

文件系统层:文件系统 保存数据

相关推荐
玄妙尽在颠倒间3 小时前
SQL中的四大核心语言:DQL、DML、DDL、DCL
大数据·数据库
就叫飞六吧3 小时前
DataX适合全量同步和简单的增量场景
mysql
苏打水com3 小时前
企业级数据库实操手册:从架构部署到安全运维的落地指南
数据库·后端
不会kao代码的小王4 小时前
突破机房围墙:openEuler设备的公网管理实战指南
开发语言·数据库·笔记
盒马coding4 小时前
PostgresWAL文件和序列号
数据库·oracle
一人の梅雨4 小时前
京东商品详情深度解析:从接口调用到商业价值挖掘的技术实现
服务器·数据库·php
xhbh6664 小时前
【实战避坑】MySQL自增主键(AUTO_INCREMENT)全解:从锁机制、间隙问题到分库分表替代方案
android·数据库·mysql·mysql自增主键
hh真是个慢性子5 小时前
mongodb慢查询优化 速度欻欻滴~
数据库·mongodb·性能优化·慢查询
色空大师5 小时前
【MongoDB的RLE压缩数据存储】
数据库·mongodb