新闻详情

新闻详情

首页 / 资讯中心 / 详情

MySQL 基础篇(一):MySQL 必备基础知识

发布时间:2026/10/1 22:33:16来源:尧图网络
MySQL 基础篇(一):MySQL 必备基础知识
目录本文内容概要一、数据库基础1.1 为什么需要数据库1.2 什么是数据库1.3 主流数据库二、MySQL 数据库基本理解2.1 连接服务器2.2 MySQL 服务器、数据库、数据表的关系2.3 MySQL 的整体架构2.3.1 客户端层2.3.2 MySQL Server 层2.3.3 存储引擎层2.3.4 物理存储层2.4 MySQL的存储引擎2.5 SQL语句的分类本文内容概要本文主要介绍MySQL 学习过程中需要掌握的基础知识首先从数据库的基本概念出发了解为什么需要数据库以及常见的主流数据库随后介绍 MySQL 服务器、数据库与数据表之间的关系并从整体上认识MySQL 的体系架构以及存储引擎最后介绍SQL 语句的基本分类为后续学习数据库与数据表操作、数据增删改查、索引、事务等知识打下基础。一、数据库基础1.1 为什么需要数据库在计算机系统中数据是非常重要的资源。例如一个电商系统需要保存用户、商品、订单等数据一个学校管理系统需要保存学生、课程、成绩等数据。其中对数据的存储最简单的方式是直接将数据保存到文件中student.txt1 张三 19 计科2 李四 20 软工3 王五 21 数媒当数据量较小时使用文件保存数据并没有太大的问题。但是随着数据量不断增加以及应用程序越来越复杂仅仅依靠普通文件管理数据会变得越来越困难。数据查询困难数据修改和删除困难难以处理大量数据难以处理并发访问难以保证数据安全和可靠性当数据规模和应用程序复杂度不断增加时仅仅依靠普通文件已经难以高效、可靠地完成数据的存储、查询、修改和管理因此需要专门的数据库系统来统一管理数据。1.2 什么是数据库数据库(Database, DB)一种按照一定规则组织、存储和管理数据的集合。例如学校需要记录学生张三、李四、王五的基本信息张三 19岁 计科李四 20岁 软工王五 21岁 数媒在没有数据库的情况下程序员可以通过 C/C 等高级语言来对文件进行读写将学生信息保存到文件中。对于文件的写入操作是很容易的但是如果希望程序能够准确地读取并解析每一条学生记录就需要约定数据的组织格式。例如[姓名长度][姓名][年龄][专业长度][专业]程序按照约定好的格式对数据进行序列化和反序列化才能正确地保存和读取数据。而数据库提供一种功能把数据按照一定的结构进行组织并提供相关接口方便程序员对数据进行保存、获取、查询等功能。ID姓名年龄专业1张三19计科2李四20软工3王五21数媒1.3 主流数据库类型主流数据库特点关系型数据库MySQL开源、应用广泛Web/后端开发常见PostgreSQL功能强、SQL 标准支持较好、扩展能力强Oracle Database商业数据库大型企业场景常见Microsoft SQL Server微软生态中常见SQLite轻量、嵌入式、无需独立服务器键值数据库Redis内存数据库常用于缓存、排行榜、分布式锁等文档数据库MongoDB以文档形式存储数据模式相对灵活分布式/宽列数据库Apache Cassandra、HBase面向大规模分布式数据场景搜索/分析引擎Elasticsearch全文搜索、日志检索与分析常见二、MySQL 数据库基本理解2.1 连接服务器mysql -h 127.0.0.1 -P 3306 -u root -p-hMySQL 服务端程序的 IP 地址-PMySQL 服务端程序绑定的 Port 端口号-u以某种身份连接 MySQL 服务端-p登录的密码注意如果没有带 -h 选项默认采用 127.0.0.1 本地环回地址如果没有带 -P 选项默认采用 3306 端口号2.2 MySQL 服务器、数据库、数据表的关系我们在命令行使用的 mysql 是 MySQL 提供的客户端它用来连接 MySQL 服务器而数据库和数据表的管理均有 MySQL 服务器来管理。mysql 客户端下达对应的 SQL 语句MySQL 解析得到后进行对数据库、数据表进行相关操作。2.3 MySQL 的整体架构理解一条 SQL 语句是如何被 MySQL 接收、处理并最终完成数据读写的。MySQL 的架构可以划分为客户端层、MySQL Server 层、存储引擎层以及物理存储层。2.3.1 客户端层客户端层是用户与 MySQL Server 进行交互的入口。我们平时使用的 MySQL 命令行客户端、Navicat、DBeaver以及通过 C、Java、Python 等语言编写的应用程序本质上都属于 MySQL 的客户端。客户端首先需要与 MySQL Server 建立连接连接成功后便可以向服务器发送 SQL 请求MySQL Server 接收到请求后会对 SQL 语句进行进一步处理。2.3.2 MySQL Server 层MySQL Server 层是整个 MySQL 架构中非常重要的一部分主要负责连接管理以及 SQL 语句的解析、优化和执行。当客户端尝试连接 MySQL 时服务器首先需要处理连接请求并完成用户身份认证、权限检查等工作。连接建立以后客户端发送的 SQL 语句便会进入 SQL 处理流程。这个过程可以简单概括为SQL 语句 → 解析 → 优化 → 生成执行计划 → 执行首先MySQL 会对 SQL 语句进行词法、语法等方面的分析判断 SQL 是否符合基本语法规则并确定语句需要完成的操作。随后查询优化器会根据表结构、索引、统计信息等内容为 SQL 选择一个成本相对较低的执行方案。在基础学习阶段我们只需要理解 Server 层负责理解 SQL 并决定如何执行 SQL 即可具体的优化器原理可以在后续 SQL 优化部分继续学习。2.3.3 存储引擎层经过 Server 层处理以后真正的数据读取和写入工作还需要交给存储引擎完成。存储引擎可以理解为 MySQL 中真正负责组织、存储和访问数据的模块。MySQL 支持多种存储引擎例如 InnoDB、MyISAM、Memory 等不同存储引擎具有不同的特点。其中InnoDB 是目前 MySQL 默认并且最常用的存储引擎支持事务、行级锁、MVCC、外键等重要功能。因此后续学习 MySQL 的事务、锁、MVCC、索引以及数据持久化等内容时通常都会重点围绕 InnoDB 展开。可以通过下面的 SQL 查看当前 MySQL 支持的存储引擎SHOW ENGINES;2.3.4 物理存储层最终数据还需要真正保存到磁盘中这便涉及 MySQL 的物理存储。例如 InnoDB 中的数据和索引可以存储在.ibd等文件中MySQL 在运行过程中还会涉及各种日志和配置文件。因此从整体角度来看一条 SQL 语句的执行过程可以简单概括为客户端发送 SQL → MySQL Server 接收并解析 SQL → 优化器选择执行方案 → 调用存储引擎 → 存储引擎完成数据读写 → 数据最终保存到物理存储中。需要注意的是这里介绍的只是 MySQL 的宏观架构。实际上 InnoDB 内部还包含 Buffer Pool、锁、事务、redo log、undo log 等大量重要机制这些内容将在后续学习 MySQL 原理时进一步展开。通过这一架构我们目前只需要建立一个基本认识Server 层主要负责 SQL 的处理与执行控制而存储引擎主要负责数据真正的存储和访问。理解这个分层关系以后再学习索引、事务、锁以及 InnoDB 等内容时就能够更加清楚这些机制分别处于 MySQL 的哪个位置以及它们解决了什么问题。2.4 MySQL的存储引擎2.5 SQL语句的分类SQLStructured Query Language结构化查询语言是用于操作和管理关系型数据库的语言。根据 SQL 语句所完成的功能可以将其划分为以下几类分类全称作用常见关键字DDLData Definition Language数据定义语言用于定义和管理数据库对象CREATE、ALTER、DROPDMLData Manipulation Language数据操作语言用于对表中的数据进行增、删、改INSERT、UPDATE、DELETEDQLData Query Language数据查询语言用于查询数据库中的数据SELECTDCLData Control Language数据控制语言用于管理用户以及访问权限GRANT、REVOKE
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

工业仪表盘检测数据集:VOC+YOLO双格式783张实采样本 2026/10/1 23:29:12

工业仪表盘检测数据集:VOC+YOLO双格式783张实采样本

简介:本资源是面向工业视觉检测初学者与算法工程师的轻量级仪表盘目标检测数据集,聚焦制造场景中仪表读数区域的定位任务,适用于YOLO系列及Pascal VOC兼容框架的模型训练与验证。压缩包共2000个文件,主体为783张高质量JPG图像、78…

阅读更多 →
Qwen-Image-2.1低显存部署实战:7B模型图像生成与编辑双模式全解析 2026/10/1 23:29:12

Qwen-Image-2.1低显存部署实战:7B模型图像生成与编辑双模式全解析

Qwen-Image-2.1 这个名字最近在低显存炼丹圈刷屏刷得厉害。7B 参数、一个模型同时搞定图像生成和指令编辑,单看参数量就把上一代 20B 的 MoE 版本直接干到三分之一,显存占用跟着砍掉一半还多。以前你要玩“生成 编辑”,得先准备好跑两个模型…

阅读更多 →
Win8.1 运行 Steam 完整攻略:从闪退到游戏下载 2026/10/1 23:28:46

Win8.1 运行 Steam 完整攻略:从闪退到游戏下载

去年年底我把一台吃灰已久的Win8.1笔记本翻了出来,i5-3210M、4GB内存、一块老机械硬盘,配置放今天看满是年代感。原本想的很简单,装上Steam玩几局老游戏,结果一上来就碰钉子:下载了最新版Steam安装器,装是装…

阅读更多 →
Go实战:构建AI Agent流水线自动生成电商详情页 2026/10/1 23:28:45

Go实战:构建AI Agent流水线自动生成电商详情页

一个做电商的朋友凌晨给我发了张保温杯的商品图,问我明天能不能给她一整套详情页:主标题、五张卖点图、规格参数、场景文案、排版骨架。搁一年前我肯定劝她找专业美工和文案,但这次我把图拖进了自己用 Go 搭的 AI Agent 流水线里,…

阅读更多 →
DeepSeek Harness桌面端实测:从安装配置到工作流自动化全指南 2026/10/1 23:28:45

DeepSeek Harness桌面端实测:从安装配置到工作流自动化全指南

最近群里连着几天有人刷“DeepSeek Harness 出了桌面端?”,第一反应是又一个套壳客户端。但仔细翻了翻热词和安装包,发现这东西比我想象中正经太多。我花了一整个周末,在 Windows 笔记本和一台 Linux 台式机上各装了一遍&#xff…

阅读更多 →
DeepSeek Harness桌面端实测:本地部署、Skill机制与自动化测试实践 2026/10/1 23:28:45

DeepSeek Harness桌面端实测:本地部署、Skill机制与自动化测试实践

最近群里好几个朋友都在转同一个消息:DeepSeek Harness 出桌面端了?说实话我第一反应是不信。这工具我从 0.1.x 版本就开始接触,一直是用命令行加本地 Web 服务的方式跑,怎么突然就冒出来一个桌面版?抱着怀疑的态度&am…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉