MySQL简介
什么是MySQL?为什么要用数据库?怎么工作?
什么是 MySQL
MySQL 是一个 开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司旗下。
简单说,MySQL 就是一个存储和管理数据的软件。你在网站上注册的账号、购物车里的商品、朋友圈的动态——这些数据大概率都存在某个 MySQL 数据库里。
为什么要用数据库?
你可能会想:用 Excel 存数据不也挺好吗?
对于少量数据确实没问题,但当数据量变大、场景变复杂时,数据库的优势就出来了:
| 场景 | Excel | MySQL |
|---|---|---|
| 存 100 行数据 | ✅ 没问题 | ✅ 没问题 |
| 存 1000 万行数据 | ❌ 卡到怀疑人生 | ✅ 轻松应对 |
| 同时有 100 个人读写 | ❌ 不支持 | ✅ 原生支持并发 |
| 精确控制谁能改什么数据 | ❌ 基本靠吼 | ✅ 细粒度权限管理 |
| 数据误删了想撤回 | ❌ 找不回来 | ✅ 事务回滚 |
| 按复杂条件查数据 | 手动筛选,累 | 一句 SQL 搞定 |
💡 一句话总结:少量数据自己玩用 Excel 就行,正经项目老老实实用数据库。
MySQL 是怎么工作的?
MySQL 采用的是客户端—服务器架构,打个比方:
你(用工具写 SQL) → 发送请求 → MySQL 服务器(处理请求)
↓
你(看到表格结果) ← 返回数据 ← 从硬盘读写数据- 客户端:你敲命令的地方——可能是黑框终端(mysql命令行),也可能是图形界面(MySQL Workbench、Navicat、DataGrip)
- 服务器:真正干活的那个后台程序(
mysqld),负责解析你的 SQL、读写磁盘上的数据、管理并发访问
你平时捣鼓 MySQL 的时候,就是客户端和服务器在对话——你写一句 SQL,服务器理解后执行,然后把结果返回给你。
SQL 是什么?
SQL(Structured Query Language,结构化查询语言)就是你和 MySQL 对话的语言。
比如你想查"所有姓张的用户",用 SQL 写就是:
sql
SELECT * FROM users WHERE name LIKE '张%';MySQL 看不懂中文,但它看得懂 SQL。学 MySQL 的本质,就是学 SQL。
MySQL 的特点
| 特性 | 说明 |
|---|---|
| 开源免费 | 社区版完全免费,企业版提供额外功能 |
| 跨平台 | 支持 Windows、Linux、macOS 等多种操作系统 |
| 高性能 | 采用 B+ 树索引引擎,查询速度快 |
| 多存储引擎 | 支持 InnoDB、MyISAM、Memory 等多种存储引擎 |
| 事务支持 | InnoDB 引擎支持 ACID 事务 |
| 安全性高 | 提供用户权限管理、SSL 加密等安全机制 |
| 可扩展性 | 支持分区表、主从复制、读写分离等高可用方案 |
常见版本
- MySQL 5.7:经典稳定版,仍被大量企业使用(但官方已停止更新支持)
- MySQL 8.0:当前主流版本,引入了窗口函数、CTE、JSON 增强等特性
- MySQL 8.4+:最新 LTS(长期支持)版本
💡 学习建议:新手直接学 MySQL 8.0 起步即可。8.0 是现在的绝对主流,文中所有示例也都基于 8.0。
小结
这章就记住三件事:
- MySQL 是存数据的仓库——你注册的账号、下的订单、发的动态都在里面
- SQL 是你和 MySQL 对话的语言——你写 SQL,它执行,返回结果
- 客户端发请求,服务器干活的架构——你敲命令的地方是客户端,后台跑着的是服务器
一句话:学 MySQL = 学怎么用 SQL 操作数据。下一章把环境搭起来,就可以开始动手了。