跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
SQL

MySQL 数据库基础:概念、架构与核心使用指南

数据库基础涉及数据存储与管理核心概念,对比主流数据库特性,详解 MySQL 安装连接、架构及 SQL 分类(DDL/DML/DQL/DCL)。通过存储引擎选择与大小写规范分析,结合创建学生表实战流程,帮助读者快速掌握数据库操作关键技能。

数字游民发布于 2026/3/16更新于 2026/10/25107 浏览
MySQL 数据库基础:概念、架构与核心使用指南

MySQL 数据库基础:概念、架构与核心使用指南

1. 数据库概念

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据存在以下局限性:

  • 安全性问题:文件权限控制较弱。
  • 查询与管理困难:海量数据检索效率低。
  • 程序控制不便:在应用层直接操作文件系统耦合度高。

数据库的存储介质主要包括磁盘和内存。为了解决上述问题,数据库管理系统(DBMS)应运而生,它能更高效地管理数据。数据库的水平是衡量一个程序员水平的重要指标。

2. 当前主流的数据库

数据库名称描述
SQL Server微软产品,.Net 程序员的最爱,适用于中大型项目。
Oracle甲骨文产品,适合大型项目,复杂的业务逻辑,并发性能通常不如 MySQL。
MySQL世界上最受欢迎的数据库,属于甲骨文旗下,并发性好,不适合做复杂的业务。主要用在电商、SNS、论坛。对简单的 SQL 处理效果好。
PostgreSQL加州大学伯克利分校计算机系开发的关系型数据库,支持私用、商用及学术研究,可免费使用、修改和分发。
SQLite轻型的嵌入式数据库,遵守 ACID 原则,占用资源极低,适合嵌入式设备。
H2Java 开发的嵌入式数据库,作为类库可直接嵌入应用项目。

3. MySQL 的基本使用

3.1 MySQL 的安装

安装方式因操作系统而异,常见的有源码编译、包管理器安装或图形化安装工具。建议根据具体环境选择合适的安装文档进行配置。

3.2 连接服务器

命令示例:

mysql -h127.0.0.1 -P3306 -u root -p

输出示例:

Enter password: ****
Welcome to the MySQL monitor...
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help.
mysql>

注意:

  • 如果不写 -h 127.0.0.1,默认连接本地主机。
  • 如果不写 -P 3306,默认连接 3306 端口号。

3.3 服务器管理

在 Windows 系统中,可通过 Win + R 输入 services.msc 打开服务管理器,通过左侧按钮进行服务的停止、暂停或重启操作。

3.4 服务器、数据库、表关系

  • 数据库服务器:安装了数据库管理系统程序的机器,该程序可管理多个数据库。
  • 数据库:开发人员通常针对每一个应用创建一个独立的数据库。
  • 表:为保存应用中实体的数据,在数据库中创建多个表。

三者层级关系为:服务器 > 数据库 > 表。

3.5 使用案例

以下是创建数据库、表及插入数据的完整流程:

  1. 创建数据库
    CREATE DATABASE helloworld;
    
  2. 使用数据库
    USE helloworld;
    
  3. 创建数据库表
    CREATE TABLE student (
        id INT,
        name VARCHAR(32),
        gender VARCHAR(2)
    );
    
  4. 表中插入数据
    INSERT INTO student (id, name, gender) VALUES (1, '张三', '男');
    INSERT INTO student (id, name, gender) VALUES (2, '李四', '女');
    INSERT INTO student (id, name, gender) VALUES (3, '王五', '男');
    
  5. 查询表中的数据
    SELECT * FROM student;
    

3.6 数据逻辑存储

数据在物理上存储在磁盘文件中,但在逻辑上通过页、区等结构进行管理,以优化读写性能。

4. MySQL 架构

MySQL 是一个可移植的数据库,几乎能在所有主流操作系统上运行(Unix/Linux、Windows、Mac、Solaris)。尽管底层实现各异,但 MySQL 保证了各平台物理体系结构的一致性。

其架构主要分为三层:

  • 连接层:负责处理客户端连接、认证及安全。
  • 服务层:包含缓存、SQL 接口、解析器、优化器等核心功能。
  • 引擎层:负责数据的存储和提取,支持插件式存储引擎。

5. SQL 的分类

5.1 SQL 分类:三大类

  • DDL (Data Definition Language):数据定义语言,用于维护存储数据的结构。代表指令:CREATE, DROP, ALTER。
  • DML (Data Manipulation Language):数据操纵语言,用于对数据进行操作。代表指令:INSERT, DELETE, UPDATE。其中 SELECT 常被单独划分为 DQL。
  • DCL (Data Control Language):数据控制语言,主要负责权限管理和事务。代表指令:GRANT, REVOKE, COMMIT。

5.2 MySQL SQL 语句分类详解表

分类核心指令核心功能权威定义与理论依据在 MySQL 中的关键特性
DDL (Data Definition Language)CREATE, ALTER, DROP, TRUNCATE, RENAME用于定义和管理数据库对象(如数据库、表、索引、视图等)的结构。对应数据库三级模式结构的定义,描述数据库'骨架'。不操作数据本身,只操作容器。隐式提交:执行前自动提交当前事务,不可回滚。
DML (Data Manipulation Language)INSERT, UPDATE, DELETE用于对数据库表中的数据进行增、删、改的操作。用户与数据交互的接口,实现了对存储数据的操作。需要提交:仅修改内存数据,需 COMMIT 确认或 ROLLBACK 撤销。
DQL (Data Query Language)SELECT专指用于查询数据的语言。虽广义属 DML,但因无副作用被单独划分,便于理解和优化。读操作,不触发隐式提交。
DCL (Data Control Language)GRANT, REVOKE用于控制数据库的访问权限和安全级别。安全模型的重要组成部分,定义用户对对象的访问许可。同样会触发隐式提交,立即生效。

5.3 补充说明:关于事务控制

在更精确的 SQL 标准划分中,用于管理事务的语句(如 COMMIT, ROLLBACK, SAVEPOINT)被单独划分为 TCL (Transaction Control Language)。

  • TCL 的作用:确保被 DML 语句影响的表的数据一致性和完整性,将多个操作绑定为原子性单元。
  • 与 DCL 的区别:DCL 管理'谁'有权限'做什么',而 TCL 管理'做的结果'如何'永久保存或撤销'。

6. 存储引擎

6.1 存储引擎

存储引擎定义了数据库如何存储数据、建立索引以及更新和查询数据的技术方法。

MySQL 的核心就是插件式存储引擎,支持多种存储引擎。

6.2 查看存储引擎

SHOW ENGINES;

6.3 存储引擎对比

不同的存储引擎在事务支持、锁机制、性能等方面各有优劣,选择时需根据业务场景权衡。

7. MySQL 完整使用流程:创建学生表

7.1 使用场景

在实际开发中,我们需要从创建数据库开始,逐步构建数据结构。

终端操作演示:

mysql> CREATE DATABASE helloworld;
Query OK, 1 row affected (0.01 sec)

mysql> USE helloworld;
Database changed

mysql> CREATE TABLE student (
    -> id INT,
    -> name VARCHAR(32),
    -> gender VARCHAR(2)
    ->);
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO student (id, name, gender) VALUES (1, '张三', '男');
Query OK, 1 row affected (0.01 sec)

mysql> SELECT * FROM student;
+------+--------+--------+
| id   | name   | gender |
+------+--------+--------+
| 1    | 张三   | 男     |
+------+--------+--------+

7.2 MySQL 中的关键字大小写规范

MySQL 中的关键字(如 SELECT, DROP, CREATE 等)不区分大小写。

这意味着以下写法完全等价:

  • DROP TABLE IF EXISTS student;
  • drop table if exists student;
  • Drop Table If Exists student;
7.2.1 为什么很多人喜欢用大写?
  • 提高可读性:关键字大写,标识符小写,一眼区分 SQL 结构和自定义内容。
  • 团队规范:保持代码风格一致。
  • 习惯传承:早期教材和工具的惯例。
7.2.2 需要注意的大小写问题(表名、列名)

虽然关键字不敏感,但数据库、表、字段等标识符的大小写敏感性取决于:

  • 操作系统:Linux 下区分大小写(文件系统),Windows/macOS 通常不区分。
  • MySQL 配置:参数 lower_case_table_names 会影响处理逻辑。

建议:

  • 统一使用小写命名表名和字段名(如 student, user_name)。
  • 若混用大小写,建议使用反引号包裹,例如 `Student`。
7.2.3 结论
  • SQL 关键字不必大写,但推荐大写以保持清晰。
  • 表名、列名等建议统一小写,遵循团队规范。

8. 总结

掌握数据库基础是后端开发的核心能力之一。理解数据库概念、熟悉 SQL 分类、掌握存储引擎特性,并结合实际场景进行练习,能够帮助你构建稳固的数据处理能力。

目录

  1. MySQL 数据库基础:概念、架构与核心使用指南
  2. 1. 数据库概念
  3. 2. 当前主流的数据库
  4. 3. MySQL 的基本使用
  5. 3.1 MySQL 的安装
  6. 3.2 连接服务器
  7. 3.3 服务器管理
  8. 3.4 服务器、数据库、表关系
  9. 3.5 使用案例
  10. 3.6 数据逻辑存储
  11. 4. MySQL 架构
  12. 5. SQL 的分类
  13. 5.1 SQL 分类:三大类
  14. 5.2 MySQL SQL 语句分类详解表
  15. 5.3 补充说明:关于事务控制
  16. 6. 存储引擎
  17. 6.1 存储引擎
  18. 6.2 查看存储引擎
  19. 6.3 存储引擎对比
  20. 7. MySQL 完整使用流程:创建学生表
  21. 7.1 使用场景
  22. 7.2 MySQL 中的关键字大小写规范
  23. 7.2.1 为什么很多人喜欢用大写?
  24. 7.2.2 需要注意的大小写问题(表名、列名)
  25. 7.2.3 结论
  26. 8. 总结

更多推荐文章

查看全部
  • Spring Boot 安全认证与授权详解
  • Spring AI 多模型切换与聊天记忆持久化:MySQL JDBC 实现解析
  • 阿里 Qwen-Image-2512 开源评测:真实质感与多场景应用实践
  • 开源异构数据库同步工具 DBSyncer:安装与实战指南
  • 网络安全基础知识与防护指南
  • 如何在 Python Requests 中使用代理:分步指南
  • 网络基础安全六大组件:防火墙、WAF、IPS、行为管控、DDoS 及蜜罐详解
  • 2026 年 3 月全球 AI 前沿动态与行业洞察
  • Amazon SageMaker 部署 AIGC 应用:训练、优化与 Web 集成实践
  • Java 开发面试实录与技术深度解析
  • 位运算算法实战:判断字符唯一、丢失数字与两数之和详解
  • 2024 AI 大模型常见面试问题及参考答案
  • GLM-5 与 Qwen3.5 双模型对比:一句话生成 HTML 小游戏
  • Spring AOP 核心原理与实战指南
  • Web3 前端安全:钱包连接风险与防护指南
  • 手势控制电脑方案分析与 Python 实现示例
  • Java 企业电子招投标采购系统功能模块与数字化管理
  • Lua 语言入门指南
  • 理解 RAG 真实边界:Spring AI 三种架构落地实践
  • DeepSeek-R1-Distill-Llama-8B 模型安全与对抗攻击防护

相关免费在线工具

  • SQL 美化和格式化

    在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online

  • SQL转CSV/JSON/XML

    解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online

  • CSV 工具包

    CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online