MySQL——基础知识

目录

一、为什么选择数据库而非文件存储?

二、主流数据库简介

三、MySQL安装与连接

[1. 安装方式](#1. 安装方式)

[2. 连接服务器](#2. 连接服务器)

四、核心操作实战

[1. 数据库与表管理](#1. 数据库与表管理)

[2. 数据逻辑存储示例](#2. 数据逻辑存储示例)

五、MySQL架构解析

六、SQL分类与存储引擎

[1. SQL分类](#1. SQL分类)

[2. 存储引擎对比](#2. 存储引擎对比)

七、学习建议


一、为什么选择数据库而非文件存储?

文件存储数据存在以下问题:

  • 安全性低:文件易被误删或非法访问。

  • 管理困难:数据查询、修改效率低,难以支持复杂操作。

  • 扩展性差:无法高效处理海量数据。

  • 程序控制复杂:需自行实现数据读写逻辑。

数据库通过结构化存储、高效查询、事务支持等特性解决了上述问题,成为数据管理的核心工具。


二、主流数据库简介

数据库 特点
MySQL 最流行的开源数据库,并发性能好,适合电商、论坛等场景。
Oracle 功能强大,适合复杂业务逻辑,但成本高。
SQL Server 微软生态首选,适合中大型项目。
SQLite 轻量级嵌入式数据库,资源占用极低。
PostgreSQL 开源且功能丰富,支持复杂查询和自定义类型。

三、MySQL安装与连接

1. 安装方式

  • Linux(CentOS)

    bash 复制代码
    # CentOS 7 安装 MariaDB(MySQL分支)
    sudo yum install mariadb-server
    sudo systemctl start mariadb
  • Windows

    下载MySQL 5.7安装包,按向导完成安装。

2. 连接服务器

bash 复制代码
mysql -h 127.0.0.1 -P 3306 -u root -p
  • -h 默认为本地(127.0.0.1),-P 默认为3306端口。

四、核心操作实战

1. 数据库与表管理

bash 复制代码
-- 创建数据库
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; 输出:

bash 复制代码
+----+--------+--------+
| id | name   | gender |
+----+--------+--------+
| 1  | 张三   | 男     |
| 2  | 李四   | 女     |
| 3  | 王五   | 男     |
+----+--------+--------+

五、MySQL架构解析

MySQL采用分层设计,核心组件包括:

  1. 连接池:管理客户端连接与认证。

  2. SQL接口:处理DML、DDL等操作。

  3. 解析器与优化器:解析SQL语法并优化执行计划。

  4. 存储引擎:插件式设计,支持InnoDB、MyISAM等。

  5. 文件系统:存储数据文件、日志(如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 数据存于内存,速度快,但服务重启后数据丢失。

查看支持的引擎:

bash 复制代码
SHOW ENGINES;

七、学习建议

  1. 实践优先:从简单项目(如学生管理系统)入手,练习表设计和CRUD操作。

  2. 工具辅助:使用MySQL Workbench或Navicat管理数据库。

  3. 深入原理:学习索引优化、事务隔离级别等高级主题。

  4. 官方文档MySQL官方文档 是最权威的参考资料。


通过本文,您已掌握MySQL的核心概念、基础操作与架构原理。下一步可探索复杂查询、性能调优及分布式数据库设计,逐步成为数据库领域的高手!

相关推荐
GreatSQL18 分钟前
优化GreatSQL日志文件空间占用
数据库
还有几根头发呀18 分钟前
MySQL事务深度解析:ACID特性、隔离级别与MVCC机制
数据库
morris13123 分钟前
【redis】发布订阅
数据库·redis·缓存·发布订阅
LCY13336 分钟前
django 运行时仅显示500 但是不提示其他内容 如何令其显示更多错误信息
数据库·django·sqlite
磨十三36 分钟前
Linux---sqlite3数据库
linux·数据库·sqlite
LCY13339 分钟前
django自动添加接口文档
数据库·django·sqlite
黄同学real1 小时前
解决Windows版Redis无法远程连接的问题
数据库·windows·redis
罗念笙1 小时前
MySQL InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
数据库
阿杰来学编程2 小时前
数据库约束
数据库·mysql
JeffreyGu.2 小时前
Oracle中In和Exists区别分析
数据库·oracle