☰
MySQL数据库基础(2):数据库基础
2026/9/27 3:41:38 网站建设 项目流程

🌸雨落在了我的手上:个人主页

🐟个人仓库:Gitee仓库

❄️个人专栏:<<JaveSe>> <<C语言>> <<C语言数据结构>> <<MySQL数据库基础 >>

<<Java数据结构 >>

🔥🔥🔥人生格言:无人扶我青云志,我自踏雪至山巅

🎬博主简介:

目录

一:本节⽬标

二:数据库简介

1.什么是数据库

2.为什么要使⽤数据库

3.主流数据库

4.什么是关系型数据库

三:MySQL安装和配置

1.安装和配置

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

四:客⼾端⼯具

1.mysql

2.Workbench

3.Navicat Lite版

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

1.C/S架构与B/S架构

六:SQL简介

1.什么是SQL

2.SQL分类

七:MySQL架构

八:存储引擎

1.简介

2.查看存储引擎

3.存储引擎对⽐


内容大纲:
本文系统介绍了关系型数据库的基本概念、作用及MySQL的安装配置。重点讲解了数据库的持久化、结构化存储、安全性与事务管理等优势,对比了主流关系型与非关系型数据库。详细阐述了MySQL在Windows/Linux下的安装、客户端工具(如mysql命令行、Workbench、Navicat)的使用,以及C/S与B/S架构的区别。同时介绍了SQL语言分类(DDL、DML、DCL)、MySQL架构组成及核心组件——存储引擎,通过对比MyISAM、InnoDB等引擎特性,帮助读者理解不同场景下的选型依据。


一:本节⽬标

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

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

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

• 了解MySQL架构和存储引擎

二:数据库简介

1.什么是数据库

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

2.为什么要使⽤数据库

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

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

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

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

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

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

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

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

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

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

3.主流数据库

关系型数据库

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

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

• PostgreSQL:加州⼤学伯克利分校计算机系开发的关系型数据库,可以免费使⽤,修改和分发。 • SQLSever:微软推出的⼀款专业级数据库,与旗下的操作系统,编程环境配合使⽤,适⽤于中⼤ 型项⽬。

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

⾮关系型数据库

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

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

4.什么是关系型数据库

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

三:MySQL安装和配置

1.安装和配置

安装和配置看上章内容,这里我们就跳过了

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

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

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

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

四:客⼾端⼯具

1.mysql

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

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

# 使用mysql客户端连接服务器 C:\Users\bit>mysql -uroot -p # 输入密码 Enter password: your_password Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 8.0.39 MySQL Community Server - GPL Copyright (c) 2000, 2024, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. # 编写SQL语句 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.39 | +-----------+ 1 row in set (0.00 sec) # 查询结果 mysql> # 这里可以继续输入数据库操作指令

2.Workbench

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

3.Navicat Lite版

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

• 新建连接

• 配置连接并测试

• 新建查询

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

1.C/S架构与B/S架构

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

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

CS 架构

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

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

常⽤于固定⽤⼾群体中。常⻅的C/S架构的应⽤,⽐如QQ,CCTALK,各种⽹络游戏等等,⼀般需 要安装并且与服务器进⾏⽹络通信的都属于此类。

优点:

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

• 响应速度快

• 个性化定制能⼒强

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

缺点:

• 需要安装客⼾端才能使⽤

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

BS架构

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

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

优点:

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

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

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

缺点:

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

• 不同浏览器⽀持不尽⼈意

六:SQL简介

1.什么是SQL

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

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还为各种编程语⾔提供了⼀套⽤于外部程序访问服务 器的连接器。整体架构图如下所⽰:

八:存储引擎

1.简介

存储引擎是MySQL数据库处理数据的核⼼组件,不同的存储引擎对数据如何存储、索引、更新和 查询的实现⽅式各有不同,在不同的业务场景可以选⽤合适的存储引擎。MySQL服务器采⽤可插拔的 存储引擎架构,在服务器运⾏时可以动态的加载和卸载

2.查看存储引擎

查看当前服务器⽀持哪些存储引擎可以使⽤ SHOW ENGINES 语句,结果如下图所⽰INNODB默认的 存储引擎:

3.存储引擎对⽐

FeatureMyISAMMemoryInnoDBArchive
B-tree indexesYesYesYesNo
Backup/point-in-time recovery (note 1)YesYesYesYes
Cluster database supportNoNoNoNo
Clustered indexesNoNoYesNo
Compressed dataYes (note 2)NoYesYes
Data cachesNoN/AYesNo
Encrypted dataYes (note 3)Yes (note 3)Yes (note 4)Yes
Foreign key supportNoNoYesNo
Full-text search indexesYesNoYes (note 6)No
Geospatial data type supportYesNoYesYes
Geospatial indexing supportYesNoYes (note 7)No
Hash indexesNoYesNo (note 8)No
Index cachesYesN/AYesNo
Locking granularityTableTableRowRow
MVCCNoNoYesNo
Replication support (note 1)YesLimited (note 9)YesYes
Storage limits256TBRAM64TBNone
T-tree indexesNoNoNoNo
TransactionsNoNoYesNo
Update statistics for data dictionaryYesYesYesYes

注意:

  1. 在服务器端实现,而不是在存储引擎中实现。

  2. 仅在使用压缩行格式时支持压缩的 MyISAM 表。使用压缩行格式的 MyISAM 表为只读。

  3. 通过加密函数在服务器端实现。

  4. 通过加密函数在服务器端实现;在 MySQL 5.7 及更高版本中,支持静态数据加密(data-at-rest encryption)。

  5. 通过加密函数在服务器端实现;从 NDB 8.0.22 开始支持加密的 NDB 备份;NDB 8.0.29 及更高版本支持透明 NDB 文件系统加密。

  6. 从 MySQL 5.6 及更高版本开始支持 FULLTEXT 索引。

  7. 从 MySQL 5.7 及更高版本开始支持地理空间索引。

  8. InnoDB 在其自适应哈希索引(Adaptive Hash Index)功能内部使用哈希索引。

  9. 参见后面的讨论。

以上就是我们的全部内容了!!!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询