MySQL——基础知识
目录
一、为什么选择数据库而非文件存储?
二、主流数据库简介
三、MySQL安装与连接
1. 安装方式
2. 连接服务器
四、核心操作实战
1. 数据库与表管理
2. 数据逻辑存储示例
五、MySQL架构解析
六、SQL分类与存储引擎
1. SQL分类
2. 存储引擎对比
七、学习建议
一、为什么选择数据库而非文件存储?
文件存储数据存在以下问题:
-
安全性低:文件易被误删或非法访问。
-
管理困难:数据查询、修改效率低,难以支持复杂操作。
-
扩展性差:无法高效处理海量数据。
-
程序控制复杂:需自行实现数据读写逻辑。
数据库通过结构化存储、高效查询、事务支持等特性解决了上述问题,成为数据管理的核心工具。
二、主流数据库简介
数据库 | 特点 |
---|---|
MySQL | 最流行的开源数据库,并发性能好,适合电商、论坛等场景。 |
Oracle | 功能强大,适合复杂业务逻辑,但成本高。 |
SQL Server | 微软生态首选,适合中大型项目。 |
SQLite | 轻量级嵌入式数据库,资源占用极低。 |
PostgreSQL | 开源且功能丰富,支持复杂查询和自定义类型。 |
三、MySQL安装与连接
1. 安装方式
-
Linux(CentOS)
# CentOS 7 安装 MariaDB(MySQL分支) sudo yum install mariadb-server sudo systemctl start mariadb
-
Windows
下载MySQL 5.7安装包,按向导完成安装。
2. 连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
-
-h
默认为本地(127.0.0.1
),-P
默认为3306端口。
四、核心操作实战
1. 数据库与表管理
-- 创建数据库
CREATE DATABASE helloworld;
USE helloworld;
-- 创建表
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(32) NOT NULL,
gender VARCHAR(2)
);
-- 插入数据
INSERT INTO student (id, name, gender) VALUES
(1, '张三', '男'),
(2, '李四', '女'),
(3, '王五', '男');
-- 查询数据
SELECT * FROM student;
2. 数据逻辑存储示例
执行 SELECT * FROM student;
输出:
+----+--------+--------+
| id | name | gender |
+----+--------+--------+
| 1 | 张三 | 男 |
| 2 | 李四 | 女 |
| 3 | 王五 | 男 |
+----+--------+--------+
五、MySQL架构解析
MySQL采用分层设计,核心组件包括:
-
连接池:管理客户端连接与认证。
-
SQL接口:处理DML、DDL等操作。
-
解析器与优化器:解析SQL语法并优化执行计划。
-
存储引擎:插件式设计,支持InnoDB、MyISAM等。
-
文件系统:存储数据文件、日志(如Binlog、Undo Log)。
六、SQL分类与存储引擎
1. SQL分类
类型 | 功能 | 示例指令 |
---|---|---|
DDL | 定义数据结构 | CREATE , ALTER , DROP |
DML | 操作数据 | INSERT , UPDATE , DELETE |
DQL | 查询数据(DML子集) | SELECT |
DCL | 权限与事务控制 | GRANT , REVOKE , COMMIT |
2. 存储引擎对比
引擎 | 特点 |
---|---|
InnoDB | 支持事务、外键,适合高并发写入(默认引擎)。 |
MyISAM | 查询速度快,不支持事务,适合读多写少场景。 |
Memory | 数据存于内存,速度快,但服务重启后数据丢失。 |
查看支持的引擎:
SHOW ENGINES;
七、学习建议
-
实践优先:从简单项目(如学生管理系统)入手,练习表设计和CRUD操作。
-
工具辅助:使用MySQL Workbench或Navicat管理数据库。
-
深入原理:学习索引优化、事务隔离级别等高级主题。
-
官方文档:MySQL官方文档 是最权威的参考资料。
通过本文,您已掌握MySQL的核心概念、基础操作与架构原理。下一步可探索复杂查询、性能调优及分布式数据库设计,逐步成为数据库领域的高手!