MySQL基础

掌握数据库基本概念和MySQL入门

什么是数据库?

数据库是按照数据结构来组织、存储和管理数据的仓库。数据库管理系统(DBMS)是用于管理数据库的软件系统。

数据库类型

  • 关系型数据库(MySQL, PostgreSQL, Oracle) - 使用表格结构存储数据
  • 非关系型数据库(MongoDB, Redis) - 使用键值对、文档等形式存储数据

MySQL简介

MySQL是最流行的开源关系型数据库管理系统之一,由Oracle公司开发和支持。

特点:开源免费、性能高、可靠性强、易于使用、支持标准SQL

MySQL基本概念

  • 数据库(Database) - 数据存储的容器
  • 表(Table) - 数据的二维结构,由行和列组成
  • 列(Column) - 表的字段,定义数据类型
  • 行(Row) - 表中的记录
  • 主键(Primary Key) - 唯一标识表中每行的字段

基本SQL操作

创建数据库

SQL示例
CREATE DATABASE my_database;

选择数据库

SQL示例
USE my_database;

创建表

SQL示例
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

插入数据

SQL示例
INSERT INTO users (username, email) 
VALUES ('john_doe', 'john@example.com');

查询数据

SQL示例
SELECT * FROM users;

更新数据

SQL示例
UPDATE users 
SET email = 'john.doe@example.com' 
WHERE username = 'john_doe';

删除数据

SQL示例
DELETE FROM users 
WHERE username = 'john_doe';

MySQL客户端工具

MySQL提供了多种客户端工具来管理和操作数据库:

工具 描述 特点
MySQL命令行客户端 官方命令行工具 轻量、快速、功能完整
MySQL Workbench 官方图形化工具 可视化操作、建模、管理
phpMyAdmin Web版管理工具 基于浏览器、易于部署
Navicat 第三方图形化工具 功能强大、界面友好

MySQL体系结构

MySQL采用客户端/服务器架构,主要包含以下组件:

  • 连接池 - 管理客户端连接
  • SQL接口 - 接收SQL命令并返回结果
  • 解析器 - 解析SQL语句
  • 优化器 - 优化查询执行计划
  • 存储引擎 - 负责数据的存储和检索

MySQL存储引擎

MySQL支持多种存储引擎,每种都有其特点和适用场景:

存储引擎 特点 适用场景
InnoDB 支持事务、外键、行级锁 事务处理、高并发应用
MyISAM 不支持事务、表级锁 读密集型应用、数据仓库
MEMORY 数据存储在内存中 临时表、高速缓存
ARCHIVE 高压缩比、只支持插入和查询 归档数据、日志存储

SQL语言分类

SQL语言按照功能可以分为以下几类:

  • 数据定义语言(DDL) - 用于定义数据库对象,如CREATE、ALTER、DROP
  • 数据操作语言(DML) - 用于操作数据,如INSERT、UPDATE、DELETE
  • 数据查询语言(DQL) - 用于查询数据,主要是SELECT语句
  • 数据控制语言(DCL) - 用于控制数据库访问权限,如GRANT、REVOKE
  • 事务控制语言(TCL) - 用于管理事务,如COMMIT、ROLLBACK

数据库设计基础

良好的数据库设计是构建高效应用的基础:

规范化

规范化是数据库设计的过程,旨在减少数据冗余和提高数据一致性:

  • 第一范式(1NF) - 每个列都是原子性的,不可再分
  • 第二范式(2NF) - 满足1NF,且非主键列完全依赖于主键
  • 第三范式(3NF) - 满足2NF,且非主键列之间没有传递依赖

实体关系模型

实体关系模型是数据库设计的重要工具:

  • 实体 - 现实世界中可区分的对象
  • 属性 - 实体的特征
  • 关系 - 实体之间的联系
学习建议:初学者建议从MySQL命令行开始学习,可以更好地理解SQL语法和数据库操作原理。

MySQL应用场景

MySQL广泛应用于各种场景:

  • Web应用 - 作为后端数据库存储用户数据、内容等
  • 电子商务 - 存储产品信息、订单数据、客户信息
  • 日志系统 - 存储应用日志、系统日志
  • 数据分析 - 作为数据仓库的基础
  • 内容管理系统 - 存储文章、页面、媒体信息

MySQL版本发展

MySQL自1995年发布以来,经历了多个重要版本:

  • MySQL 3.x - 早期版本,功能基础
  • MySQL 4.x - 引入InnoDB存储引擎
  • MySQL 5.x - 功能大幅增强,包括存储过程、触发器、视图等
  • MySQL 8.x - 当前主流版本,性能和安全大幅提升

下一步学习

掌握了MySQL基础概念后,您可以继续学习: