首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【MySQL基础】MySQL基础:MySQL基本操作与架构

【MySQL基础】MySQL基础:MySQL基本操作与架构

作者头像
GG Bond1
发布2025-05-20 08:32:09
发布2025-05-20 08:32:09
4650
举报
文章被收录于专栏:C/C++葵花宝典C/C++葵花宝典

MySQL学习:

https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482

前言:

这里是MySQL学习的第一篇,本篇主要是讲解一些MySQL的基础操作,但这并不是重点,本篇我们主要是要理解MySQL的本质是什么,它在操作系统中是以何种方式存在的,以及它的层次架构是什么。话不多说,下面我们开始今天的讲解。

注:我们下面的内容都是在Linux操作系统下进行的,所以首先需要先在Linux下安装MySQL,具体的操作流程可以去找个视频看一下

一、为什么需要数据库?

在计算机系统中,我们确实可以使用简单的文件来存储数据,但随着数据量的增长和复杂度的提高,文件存储方式暴露出诸多问题:

文件存储缺点

数据库解决方案

安全性问题

提供用户权限管理和数据加密机制

不利于数据查询

支持高效的SQL查询语言和索引机制

难以管理海量数据

优化存储结构,支持TB级数据处理

程序控制不便

提供标准API和事务管理

数据库按照存储介质可分为:

  • 磁盘数据库:数据持久化存储,如MySQL、Oracle
  • 内存数据库:数据存储在内存中,如Redis、Memcached
代码语言:javascript
复制
[虚拟图表:数据库与文件存储对比]
+---------------------+       +---------------------+
|    文件存储系统      |       |    数据库系统        |
+---------------------+       +---------------------+
| - 数据分散          |       | - 数据集中管理      |
| - 无统一访问接口    |       | - 标准SQL接口       |
| - 安全性低          |       | - 完善的权限体系    |
| - 查询效率低        |       | - 高效查询优化      |
+---------------------+       +---------------------+

二、主流数据库产品对比

MySQL在众多数据库产品中脱颖而出,下面是几种主流数据库的对比:

数据库

开发商

适用场景

特点

MySQL

Oracle

电商、SNS、论坛

并发性好,简单SQL处理高效

Oracle

Oracle

大型企业级应用

功能全面,适合复杂业务逻辑

SQL Server

Microsoft

.NET生态应用

与Windows平台深度集成

PostgreSQL

开源社区

各类规模应用

功能丰富,支持高级特性

SQLite

开源

嵌入式设备

轻量级,零配置

H2

Java社区

Java嵌入式应用

纯Java实现,内存数据库

表:主流数据库产品比较

三、MySQL安装与基本操作

3.1 安装MySQL

MySQL支持多种安装方式:

  • Linuxyum install mysql-server 或源码编译安装
  • Windows:下载MSI安装包图形化安装
  • MacOS:使用Homebrew brew install mysql
3.2 连接MySQL服务器

基本连接命令:

代码语言:javascript
复制
mysql -h 127.0.0.1 -P 3306 -u root -p

连接参数说明:

  • -h:主机地址,默认localhost
  • -P:端口号,默认3306
  • -u:用户名
  • -p:提示输入密码
3.3 服务管理

在Windows系统中,可以通过服务管理器(services.msc)来启动、停止MySQL服务。

代码语言:javascript
复制
[虚拟图表:MySQL服务管理界面]
+-----------------------------------+
|        Windows服务管理器          |
+-----------------------------------+
| 名称               状态    启动类型 |
|-----------------------------------|
| MySQL57           正在运行  自动    |
| MySQL80           已停止   手动    |
| Apache            正在运行  自动    |
+-----------------------------------+
| 启动  停止  暂停  重启动  属性      |
+-----------------------------------+

四、什么是数据库

首先我们给出结论:MySQL本质上是一个网络服务

它可以简单的分为两部分:mysql和mysqld,其中mysql可以看作数据库服务的客户端,mysqld是数据库服务的服务器端,所以mysql实际上是基于C/S架构的网络服务

因为mysql是网络服务,所以我们可以查看到mysql的特定端口号:

五、数据库基本操作实战

5.1 创建和使用数据库
代码语言:javascript
复制
-- 创建数据库
CREATE DATABASE helloworld;
代码语言:javascript
复制
-- 使用数据库
USE helloworld;
4.2 创建表并插入数据
代码语言:javascript
复制
-- 创建学生表
CREATE TABLE student(
    id INT,
    name VARCHAR(32),
    gender VARCHAR(2)
);

-- 插入数据
INSERT INTO student (id, name, gender) VALUES (1, '张三', '男');
INSERT INTO student (id, name, gender) VALUES (2, '李四', '女');
INSERT INTO student (id, name, gender) VALUES (3, '王五', '男');
4.3 查询数据
代码语言:javascript
复制
-- 查询所有数据
SELECT * FROM student;

查询结果示例:

id

name

gender

1

张三

2

李四

3

王五

五、MySQL架构解析

MySQL采用分层架构设计,主要组件包括:

代码语言:javascript
复制
[虚拟图表:MySQL架构图]
+---------------------------------------+
|           客户端连接层                |
|  (JDBC/ODBC/.NET/PHP/Python/PERL)    |
+---------------------------------------+
|             服务层                   |
| +---------------+ +----------------+ |
| | 连接池        | | SQL接口        | |
| | 认证/安全     | | DML/DDL/视图   | |
| +---------------+ +----------------+ |
| +---------------+ +----------------+ |
| | 查询缓存      | | 解析器         | |
| | 表缓存        | | 词法/语法分析  | |
| +---------------+ +----------------+ |
| +---------------+                    |
| | 优化器        |                    |
| | 查询重写/执行 |                    |
| +---------------+                    |
+---------------------------------------+
|           存储引擎层                 |
| +-------+ +-------+ +-------+        |
| |InnoDB | |MyISAM | |Memory| ...    |
| +-------+ +-------+ +-------+        |
+---------------------------------------+
|           文件系统层                 |
| 数据文件/日志文件/索引文件            |
+---------------------------------------+

六、SQL语言分类

SQL语言按照功能可分为以下几类:

分类

全称

功能

常用命令

DDL

Data Definition Language

定义数据结构

CREATE, ALTER, DROP

DML

Data Manipulation Language

数据操作

INSERT, UPDATE, DELETE

DQL

Data Query Language

数据查询

SELECT

DCL

Data Control Language

权限控制

GRANT, REVOKE, COMMIT

表:SQL语言分类及常用命令

七、MySQL存储引擎详解

7.1 什么是存储引擎?

存储引擎是MySQL中负责数据的存储、索引和检索的核心组件。MySQL采用插件式存储引擎架构,允许用户根据需要选择最适合的引擎。

7.2 查看存储引擎
代码语言:javascript
复制
SHOW ENGINES;
7.3 主流存储引擎对比

引擎

事务支持

锁粒度

外键支持

适用场景

InnoDB

支持

行级锁

支持

事务型应用

MyISAM

不支持

表级锁

不支持

读密集型应用

Memory

不支持

表级锁

不支持

临时数据缓存

Archive

不支持

行级锁

不支持

日志归档

表:MySQL存储引擎比较

代码语言:javascript
复制
[虚拟图表:存储引擎性能对比]
+-------------------+-----------+-----------+
|   存储引擎        | 读取性能 | 写入性能 |
+-------------------+-----------+-----------+
| InnoDB            | ★★★★☆    | ★★★★☆    |
| MyISAM            | ★★★★★    | ★★★☆☆    |
| Memory            | ★★★★★    | ★★★★★    |
| Archive           | ★★☆☆☆    | ★★★★☆    |
+-------------------+-----------+-----------+

八、总结

总之mysql的学习还是非常重要的,这篇的重点还是入门,对于数据库的具体操作后面还会有更详细的讲解,这篇我们主要要理解mysql的架构

本篇笔记:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、为什么需要数据库?
  • 二、主流数据库产品对比
  • 三、MySQL安装与基本操作
    • 3.1 安装MySQL
    • 3.2 连接MySQL服务器
    • 3.3 服务管理
  • 四、什么是数据库
  • 五、数据库基本操作实战
    • 5.1 创建和使用数据库
    • 4.2 创建表并插入数据
    • 4.3 查询数据
  • 五、MySQL架构解析
  • 六、SQL语言分类
  • 七、MySQL存储引擎详解
    • 7.1 什么是存储引擎?
    • 7.2 查看存储引擎
    • 7.3 主流存储引擎对比
  • 八、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档