Skip to main content

考试大纲

(一)数据库理论基础

  1. 理解数据库相关的基本概念;
  2. 掌握数据库系统的特点与结构;
  3. 理解概念模型、逻辑模型和物理模型等数据模型的概念;掌握层次模型、网状模型、关系模型等数据模型的概念;
  4. 掌握关系模型、表、列、关键字、候选键和外部关键字、域、数据类型等常用关系术语。

(二)MySQL概述

  1. 了解MySQL系统特性;
  2. 了解MySQL服务器的安装与配置;
  3. 掌握MySQL服务器的启动与关闭;
  4. 掌握MySQL客户端管理工具。

(三)MySQL编程语言

1.了解结构化查询语言SQL的作用和主要特点;

2.掌握MySQL语言组成;

3.掌握MySQL聚合函数、数学函数、字符串函数、日期和时间函数和其他常用函数的概念及使用;

  • 聚合函数:COUNT()、SUM()、AVG()、MAX()、MIN();
  • 数学函数:ABS()、FLOOR()、RAND()、TRUNCATE()、SQRT()、ROUND()、ROUND( );
  • 字符串函数:UPPER()、UCASE()、LEFT()、SUBSTRING()、RTRIM()、REVERSE()、FIELD()、LOCATE()、POSITION()、INSTR();
  • 日期和时间函数:CURDATE()、CURRENT_DATE()、CURTIME()、NOW()、CURRENT_TIME()、DATEDIFF()、ADDDATE()、ADDDATE()、SUBDATE();
  • 其他常用函数:IF()、IFNULL()、VERSION()。

(四)定义数据库

  1. 掌握数据库的创建、查看、选择、修改和删除等操作;
  2. 掌握数据库的建立命令:CREATE DATABASE;
  3. 掌握选择数据库的命令:USE db_name;
  4. 掌握查看数据库的命令:SHOW { DATABASES|SCHEMAS}
  5. 掌握修改数据库的命令:ALTER { DATABASES|SCHEMAS}
  6. 掌握删除数据库的命令:DROP { DATABASES|SCHEMAS}

(五)定义表

  1. 掌握MySQL常用的数据类型、掌握创建表、查看表、修改表、重命名表、复制表和删除表的基本操作;
  2. 掌握MySQL的常用数据类型:数字类型、字符串类型、日期和时间类型等;
  3. 掌握建立数据表的命令:CREATE TABLE;
  4. 掌握查看表结构的命令:SHOW COLUMNS、DESCRIBE;
  5. 掌握修改表结构的命令:ALTER TABLE;
  6. 掌握重命名表的命令:RENAME TABLE;
  7. 掌握复制表的命令:CREATE TABLE …LIKE;
  8. 掌握删除表的命令:DROP TABLE;

(六)数据完整性约束

1.理解实体完整性、参照完整性、更新完整性的概念;

2.掌握主键、候选键、外键的概念;

3.掌握完整性约束的命名:CONSTRAINT;

4.掌握用户定义的完整性;

5.掌握删除约束命令:DROP TABLE、ALTER TABLE <表名> DROP {FOREIGN KEY|PRIMARY KEY}、ALTER TABLE <表名> DROP {约束名|候选键字段名}

6.掌握添加约束的相关命令:CREATE TABLE、

7.ALTER TABLE<表名> ADD [CONSTRAINT <约束名>] PRIMARY KEY(主键字段)ALTER TABLE<表名> ADD [CONSTRAINT <约束名>] FOREIGN KEY(外键字段名)REFERENCES 被参照表(主键字段名)ALTER TABLE<表名> ADD [CONSTRAINT <约束名>] UNIQUE KEY(字段名)

(七)数据查询

1.掌握基本查询语句SELECT的使用; 2.掌握单表查询的相关操作:

  • 查询所有字段:SELECT * FROM <表名>
  • 查询部分字段:SELECT <字段名1>[,字段名2,… ] FROM <表名>
  • 按条件查询:SELECT <字段名1>[,字段名2,… ] FROM <表名> WHERE <条件表达式>

3.掌握分组聚合查询:SELECT <字段名1>[,字段名2,… ] FROM <表名> GROUP BY <字段名1>[,<字段名2>…] ORDER BY <字段名1>[,<字段名2>…];

4.掌握连接查询: SELECT <字段名1>[,字段名2,… ] ...FROM <表名1> INNER|LEFT|RIGHT JOIN <表名2> ON 表名1.字段名1 = 表名2.字段名2;

5.掌握子查询;

6.掌握合并查询结果。

(八)数据更新

1.掌握插入数据的语句:INSERT…VALUES、INSERT…SET、INSERT…SELECT;

2.掌握修改数据的语句:UPDATE…SET;

3.掌握删除数据的语句:DELETE FROM、TRUNCAE TABLE;

4.掌握带子查询的删除语句:DELETE FROM…WHERE…=(SELECT)。

(九)索引

1.掌握表的索引操作;

2.掌握普通索引、唯一性索引、主键索引、聚簇索引和全文索引的概念;

3.掌握单列索引、组合索引的概念;

4.掌握创建表时创建索引的语句:CREATE TABLE CONSTRAINT index_ name;

5.掌握在已经建立的表中创建索引的语句:CREATE [UNIQE] INDEX index_ name;

6.掌握修改数据表结构同时为数据表添加索引的语句:ALTER TABLE … ADD[UNIQUE|FULLTEXT][INDEX|KEY] index_ name;

7.掌握删除索引的语句:DROP INDEX、ALTER TABLE…DROP INDEX。

(十)视图

1.理解视图的概念;

2.掌握视图的作用;

3.掌握创建视图的语句:CREATE VIEW…AS SELECT;

4.掌握查看视图的语句:SHOW CREATE VIEW;

5.掌握修改视图的语句:ALTER VIEW;

6.掌握更新视图数据的相关语句:INSERT、UPDATE、DELETE;

7.掌握删除视图的语句:DROP VIEW。

(十一)MySQL的数据库编程

考点 1: 掌握触发器的基本概念与作用;掌握使用SQL语句创建、删除触发器的操作方法及应用,掌握触发器的种类及区别,理解触发器的使用及原则;

考点2:掌握事件、事件调度器的基本概念与作用,掌握使用SQL语句创建、修改、删除事件的操作方法及应用;

考点3:掌握存储过程的使用方法,包括:

  • 存储过程、存储函数的基本概念、特点与作用;
  • 存储过程和存储函数的区别;
  • 存储过程体的基本概念及构造方法;
  • 使用SQL语句创建、修改、删除存储过程的操作方法及应用;
  • 存储过程的调用方法;
  • 使用SQL语句创建、修改、删除存储函数的操作方法及应用;
  • 存储函数的调用方法。

考点4:掌握存储函数的使用方法,包括:

  • 存储过程、存储函数的基本概念、特点与作用;
  • 存储过程和存储函数的区别;
  • 存储过程体的基本概念及构造方法;
  • 使用SQL语句创建、修改、删除存储过程的操作方法及应用;
  • 存储过程的调用方法;
  • 使用SQL语句创建、修改、删除存储函数的操作方法及应用;
  • 存储函数的调用方法。

(十二)数据库设计

1.了解数据库设计的方法;

2.掌握数据库设计的步骤;

3.掌握E-R图的画法;

4.掌握模式的规范化;

5.掌握E-R模型转化为关系模式的方法。

(十三)数据库安全性

1.了解数据库的不安全因素,掌握数据库的安全性的概念;

2.了解计算机以及信息安全技术方面的系列安全标准;

3.熟悉数据库的用户管理;

4.掌握权限的授予、查看和回收;

5.掌握角色的创建、授权和回收。

(十四)数据库安全性

1.熟悉数据库备份和恢复的概念;

2.掌握备份的类型、策略和方法;

3.掌握MySQL备份和恢复操作。


一、核心主流引擎(新手重点掌握)

1. InnoDB(MySQL 5.5+ 默认引擎)

核心特性(最关键的“特殊能力”)

  • ✅ 支持事务(ACID 特性:原子性、一致性、隔离性、持久性),可通过 COMMIT/ROLLBACK 提交/回滚;
  • ✅ 支持行级锁(仅锁定修改的行,高并发场景下性能远优于表级锁);
  • ✅ 支持外键约束(保证数据关联的完整性,如学生表和课程表的外键关联);
  • ✅ 支持崩溃恢复(断电/宕机后可恢复数据,保证数据不丢失);
  • ✅ 采用聚簇索引(主键索引和数据行合二为一,查询效率高);
  • ❗ 读写性能均衡,写操作(插入/更新/删除)略逊于 MyISAM,但稳定性和安全性远胜。

适用场景

  • 绝大多数业务场景(电商、金融、社交、管理系统等),尤其是需要事务、外键、高并发的场景;
  • 对数据一致性、完整性要求高的场景(比如订单支付、资金交易)。

实操示例(指定引擎创建表)

CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;

二、常见备用引擎(了解即可,按需使用)

1. MyISAM(MySQL 5.5 前默认引擎)

核心特性

  • ❌ 不支持事务、外键;
  • ❌ 仅支持表级锁(修改数据时锁定整张表,高并发下性能差);
  • ✅ 查询(读)速度极快(存储结构简单,无事务开销);
  • ✅ 支持全文索引(早期 MySQL 中唯一支持全文索引的引擎);
  • ✅ 占用磁盘空间小,存储了表行数(COUNT(*) 无需扫描全表,直接返回结果)。

适用场景

  • 只读/少写的场景(如日志表、统计报表、静态数据字典);
  • 无需事务、高并发的场景(已逐渐被 InnoDB 替代,仅兼容老项目时使用)。

2. Memory(内存引擎)

核心特性

  • ✅ 数据完全存储在内存中,读写速度极快(比磁盘引擎快 10 倍以上);
  • ❌ 不支持事务、外键;
  • ❌ 数据易失(重启 MySQL/服务器后,数据全部丢失);
  • ❌ 仅支持表级锁,且存储容量受内存限制。

适用场景

  • 临时数据存储(如临时统计结果、会话数据);
  • 高频访问的临时表(用完即弃,无需持久化)。

3. Archive(归档引擎)

核心特性

  • ✅ 仅支持 INSERTSELECT,不支持 UPDATE/DELETE(只读写,不可修改);
  • ✅ 数据压缩存储,占用磁盘空间极小(适合海量归档数据);
  • ❌ 不支持事务、索引(仅主键索引)、锁。

适用场景

  • 海量历史数据归档(如日志归档、订单历史记录、监控数据);
  • 仅需插入和查询,无需修改的场景。

4. CSV(CSV 引擎)

核心特性

  • ✅ 数据以CSV 文件格式存储(可直接用 Excel/文本编辑器打开);
  • ❌ 不支持索引、事务、外键;
  • ✅ 数据可直接导入/导出,兼容性极强。

适用场景

  • 数据交换场景(如和其他系统同步数据,直接读取 CSV 文件);
  • 简单的日志记录、数据备份。

三、核心引擎特性对比表(新手快速参考)

特性InnoDBMyISAMMemoryArchive
事务支持
外键支持
锁类型行级锁表级锁表级锁
崩溃恢复
数据持久化✅(磁盘)✅(磁盘)❌(内存)✅(磁盘)
全文索引✅(5.6+)
适用场景通用/事务/高并发只读/统计临时数据归档数据

四、实操:查看/设置存储引擎

1. 查看 MySQL 支持的所有存储引擎

SHOW ENGINES;

结果中 Support 列显示 YES 表示支持,DEFAULT 是默认引擎。

2. 查看表的存储引擎

-- 方式1:查看表创建语句(ENGINE 字段)
SHOW CREATE TABLE student;

-- 方式2:查看表状态(Engine 字段)
SHOW TABLE STATUS LIKE 'student'\G;

3. 修改表的存储引擎

ALTER TABLE student ENGINE = MyISAM;

注意:修改引擎可能导致数据丢失(如 InnoDB 转 MyISAM 会丢失外键、事务相关数据),需先备份。


总结

  1. 优先选择 InnoDB:99% 的业务场景(尤其是需要事务、高并发、数据安全的场景)都适用,是 MySQL 推荐的默认引擎;
  2. MyISAM 仅用于兼容老项目:只读、无事务、低并发的统计/日志场景可临时使用;
  3. Memory/Archive/CSV:仅用于特殊场景(临时数据、归档数据、数据交换),不可作为核心业务表引擎;
  4. 核心区别:InnoDB 胜在事务、行锁、数据安全,MyISAM 胜在读速度快,Memory 胜在内存级读写