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的核心概念、基础操作与架构原理。下一步可探索复杂查询、性能调优及分布式数据库设计,逐步成为数据库领域的高手!

相关推荐
头发那是一根不剩了41 分钟前
Spring Boot 多数据源切换:AbstractRoutingDataSource
数据库·spring boot·后端
草履虫建模1 小时前
Redis:高性能内存数据库与缓存利器
java·数据库·spring boot·redis·分布式·mysql·缓存
苹果醋31 小时前
Vue3组合式API应用:状态共享与逻辑复用最佳实践
java·运维·spring boot·mysql·nginx
一个处女座的测试1 小时前
Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
python·mysql·pytest
泊浮目2 小时前
未来数据库硬件-计算篇
数据库·云计算·操作系统
靖顺2 小时前
【OceanBase诊断调优】—— 执行计划显示分区 PARTITIONS[P0SP9] 如何查询是哪个分区?
数据库·oracle·oceanbase
KIDAKN2 小时前
MySQL 存储结构
数据库·mysql
Code季风3 小时前
SQL关键字快速入门:HAVING 分组后的条件过滤
数据库·sql·mysql
程序员秘密基地3 小时前
基于html,css,vue,vscode,vs2022,asp.net,aspnet,.net,c#,mysql数据库,在线健身,俱乐部管理系统
前端·vue.js·后端·mysql·asp.net
程序猿ZhangSir3 小时前
Redis 缓存进阶篇,缓存真实数据和缓存文件指针最佳实现?如何选择?
数据库·redis·缓存