当前位置: 首页 > article >正文

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采用分层设计,核心组件包括:

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

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

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

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

  5. 文件系统:存储数据文件、日志(如Binlog、Undo Log)。


六、SQL分类与存储引擎

1. SQL分类

类型功能示例指令
DDL定义数据结构CREATEALTERDROP
DML操作数据INSERTUPDATEDELETE
DQL查询数据(DML子集)SELECT
DCL权限与事务控制GRANTREVOKECOMMIT

2. 存储引擎对比

引擎特点
InnoDB支持事务、外键,适合高并发写入(默认引擎)。
MyISAM查询速度快,不支持事务,适合读多写少场景。
Memory数据存于内存,速度快,但服务重启后数据丢失。

查看支持的引擎:

SHOW ENGINES;

 


七、学习建议

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

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

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

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


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


http://www.kler.cn/a/583152.html

相关文章:

  • Tensorflow 2.0 GPU的使用与限制使用率及虚拟多GPU
  • 网络爬虫-2:正则化
  • 大语言模型-01-语言模型发展历程-03-预训练语言模型到大语言模型
  • 两会期间的科技强音:DeepSeek技术引领人工智能新篇章
  • Node.js:快速启动你的第一个Web服务器
  • 无人机快速发展,无人机反制如何应对?
  • 第44天:WEB攻防-PHP应用SQL盲注布尔回显延时判断报错处理增删改查方式
  • 【写作模板】JosieBook的写作模板
  • 使用CPR库编写的爬虫程序
  • 大语言模型微调和大语言模型应用区别
  • 机器学习常见激活函数
  • vscode出现:No module named ‘requests‘ 问题的解决方法
  • ubuntu 在VirtualBox 打不开终端
  • Oracle RAC环境下自动清理归档日志实战指南
  • Java静态变量与PHP静态变量的对比
  • HTMLCSS绘制三角形
  • 数据结构-队列(详解)
  • 软件安全分析与应用之综合安全应用 (三)
  • 深度学习基础:线性代数本质4——矩阵乘法
  • 从零开始学机器学习——初探分类器