
大家好最近在系统梳理 MySQL 数据库基础知识点结合学习资料整理了这篇超详细、零基础友好的 MySQL 入门博客涵盖数据库本质、主流数据库对比、MySQL 安装连接、库表操作、SQL 分类、存储引擎等核心内容无论是课堂作业、面试复习还是入门自学都能直接用。一、为什么要使用数据库文件存储到底差在哪很多刚接触编程的同学都会有一个疑问存数据用普通文件不就行了为什么非要用数据库其实文件存储数据有非常明显的缺陷这也是数据库诞生的核心原因安全性极差文件容易被误删、篡改、泄露没有权限控制任何人都能打开修改。查询与管理极其低效文件只能顺序读取想快速查找某条数据非常麻烦无法实现高效筛选、排序、统计。无法支撑海量数据小数据量用文件没问题一旦数据达到百万、千万级文件读写会卡死完全扛不住。程序控制不方便在代码里读写文件需要手动处理格式、异常、并发开发成本极高还容易出错。而数据库就是为了解决以上所有问题设计的高效数据管理工具它能统一存储、规范管理、安全控制、高速查询是后端开发的核心基础。数据库的数据主要存储在两个介质磁盘持久化存储断电不丢失用于保存所有真实数据。内存高速缓存提升查询速度用于临时存放高频使用的数据。二、主流数据库全面对比常用 面试高频目前业界有很多数据库产品适用场景各不相同下面是最常用的数据库介绍1. MySQL目前世界上最受欢迎的开源关系型数据库。隶属甲骨文公司并发性能极强。适合电商、社交、论坛、Web 应用等中高并发场景。优点轻量、高效、免费、生态完善。缺点不适合极其复杂的业务逻辑。2. Oracle甲骨文公司的商用重量级数据库。适合大型项目、金融、银行、复杂业务系统。功能最全面安全性极高但费用昂贵。3. SQL Server微软旗下数据库.NET 技术栈首选。界面友好适合中大型项目Windows 生态兼容性强。4. PostgreSQL加州大学伯克利分校开发的开源关系型数据库。免费使用、修改、分发功能强大扩展性极高。5. SQLite超轻量级嵌入式数据库核心代码只有几百 K。无需安装、无独立进程直接嵌入程序使用。广泛用于手机 App、嵌入式设备、小型工具软件。6. H2Java 语言开发的嵌入式数据库。纯 Java 实现可直接嵌入 Java 项目常用于单元测试。三、MySQL 基础使用安装、连接、服务管理1. MySQL 安装方式不同系统安装方式不同常用方案Windows安装 MySQL 5.7 / 8.0 版本。CentOS 7通过 yum 安装 MariaDBMySQL 分支。CentOS 6.5源码编译安装 MySQL 5.6。2. 连接 MySQL 服务器安装完成后通过命令行连接 MySQLbash运行mysql -h 127.0.0.1 -P 3306 -u root -p参数说明-h数据库主机地址不写默认连接本地。-P端口号MySQL 默认端口 3306不写默认 3306。-u登录用户名默认管理员 root。-p登录密码执行后输入密码即可。连接成功后会显示plaintextWelcome to the MySQL monitor. Commands end with ; or \g.3. MySQL 服务管理Windows想启动 / 停止 / 重启 MySQL用系统服务管理器按下Win R。输入services.msc打开服务。找到MySQL57或MySQL80即可控制服务状态。4. 核心关系服务器 → 数据库 → 表很多新手搞不清三者的关系这里用最通俗的话解释数据库服务器你安装的 MySQL 软件一台电脑可以装一个。数据库DB服务器里的 “大文件夹”一个服务器可以建很多库。表库里面的 “表格”一个库可以建很多张表真正存数据的地方是表。简单层级MySQL 服务器→多个数据库→多张数据表→多条数据记录四、MySQL 基础操作案例从建库到查询下面是一套最完整、最标准的 MySQL 入门操作流程新手必须背会1. 创建数据库sqlCREATE DATABASE helloworld;2. 使用数据库进入库sqlUSE helloworld;3. 创建数据表以学生表为例包含 id、姓名、性别sqlCREATE TABLE student( id INT, name VARCHAR(32), gender VARCHAR(2) );字段说明id INT学号整数类型。name VARCHAR(32)姓名字符串类型最长 32 字符。gender VARCHAR(2)性别存男 / 女。4. 向表中插入数据sqlINSERT INTO student (id, name, gender) VALUES (1, 张三, 男); INSERT INTO student (id, name, gender) VALUES (2, 李四, 女); INSERT INTO student (id, name, gender) VALUES (3, 王五, 男);5. 查询表中所有数据sqlSELECT * FROM student;执行结果plaintext---------------------- | id | name | gender | ---------------------- | 1 | 张三 | 男 | | 2 | 李四 | 女 | | 3 | 王五 | 男 | ----------------------五、MySQL 整体架构理解底层原理MySQL 是一个跨平台数据库支持 Windows、Linux、Mac 等系统且底层结构保持一致。整体架构分为三层客户端层负责连接 MySQL支持 JDBC、ODBC、PHP、Python、C 等各种语言连接。服务层核心层连接管理、权限验证、SQL 解析、SQL 优化、查询缓存、存储过程、触发器、视图等。存储引擎层 文件系统层真正负责数据存储、索引管理、数据读写是 MySQL 的核心特色。六、SQL 语言三大分类面试必考SQL 是操作数据库的语言按功能分为三类必须严格区分1. DDL 数据定义语言作用管理数据库 / 表的结构建库、建表、改表、删库、删表关键字CREATE创建库、表、索引DROP删除库、表ALTER修改表结构加字段、改字段、删字段2. DML 数据操纵语言作用操作表中的数据增、删、改关键字INSERT插入数据DELETE删除数据UPDATE修改数据其中查询单独划分DQL 数据查询语言SELECT查询数据3. DCL 数据控制语言作用管理权限、事务关键字GRANT授权REVOKE回收权限COMMIT提交事务七、存储引擎MySQL 最核心特性1. 什么是存储引擎存储引擎就是MySQL 存储数据、建立索引、更新 / 查询数据的具体实现方式。简单理解存储引擎 数据库的 “存储模式”不同引擎存数据的方式不一样。2. MySQL 存储引擎特点MySQL 最核心的设计就是插件式存储引擎可以自由切换、按需使用。3. 查看所有存储引擎sqlSHOW ENGINES;4. 常见存储引擎InnoDBMySQL 默认引擎支持事务、外键、行锁适合大多数业务。MyISAM查询速度极快不支持事务适合只读场景。Memory数据存在内存速度最快断电丢失。Archive只支持插入和查询用于日志存储。Cluster分布式集群引擎。八、总结快速回顾数据库解决了文件存储不安全、难管理、效率低的问题。MySQL 是最流行开源数据库适合高并发 Web 项目。操作层级服务器 → 数据库 → 表 → 数据。基础流程建库 → 建表 → 插入 → 查询。SQL 分三类DDL结构、DML数据、DCL权限。存储引擎是 MySQL 核心支持插件式切换。这篇 MySQL 基础笔记覆盖了入门所有核心知识点适合新手打基础、学生写作业、面试前快速复习。