1. 数据库(Database, DB)

定义:结构化数据的集合,类似一个电子文件柜。

MySQL 示例:`CREATE DATABASE school;` 创建一个名为"school"的数据库。

 

2. 表(Table)

定义:数据库中存储数据的二维结构,由行和列组成。

类比:Excel 的工作表。

示例:`学生表(学号, 姓名, 年龄)`

 

3. 行(Row) / 记录(Record)

定义:表中的一条数据记录。

示例:`(1001, '张三', 20)` 是学生表的一行。

 

4. 列(Column) / 字段(Field)

定义:表的垂直分类,表示数据的属性。

示例:学生表中的"姓名"列。

 

5. 主键(Primary Key, PK)

定义:唯一标识表中每行数据的列(不可重复,不能为NULL)。

示例:`学号` 可作为学生表的主键。

SQL:`CREATE TABLE students (id INT PRIMARY KEY, ...);`

 

6. 外键(Foreign Key, FK)

定义:关联两个表的字段,确保数据完整性。

示例:成绩表中的`学号`关联学生表的`学号`。

SQL:`FOREIGN KEY (student_id) REFERENCES students(id)`

 

7. 索引(Index)

定义:加速数据检索的数据结构(类似书籍目录)。

注意:索引会占用存储空间,降低写入速度。

SQL:`CREATE INDEX idx_name ON students(name);`

 

8. SQL(Structured Query Language)

定义:用于操作数据库的标准语言。

分类:

  DDL(数据定义语言):`CREATE`, `ALTER`, `DROP`

  DML(数据操作语言):`SELECT`, `INSERT`, `UPDATE`, `DELETE`

  DCL(数据控制语言):`GRANT`, `REVOKE`

 

9. 事务(Transaction)

定义:一组原子性的SQL操作(要么全部成功,要么全部失败)。

特性(ACID):

  原子性(Atomicity)

  一致性(Consistency)

  隔离性(Isolation)

  持久性(Durability)

示例:银行转账(扣钱和加钱必须同时成功)。

 

10. 存储引擎(Storage Engine)

定义:MySQL处理数据的底层组件。

常见类型:

  InnoDB(默认):支持事务、行级锁

  MyISAM:不支持事务,查询速度快

查看引擎:`SHOW ENGINES;`

 

11. 视图(View)

定义:虚拟表,基于SQL查询结果生成。

作用:简化复杂查询,控制数据访问权限。

SQL:`CREATE VIEW v_students AS SELECT id, name FROM students;`

 

12. 触发器(Trigger)

定义:在表发生特定事件(INSERT/UPDATE/DELETE)时自动执行的代码。

示例:插入新学生时自动记录日志。

 

13. 存储过程(Stored Procedure)

定义:预编译的SQL语句集合,类似函数。

优势:减少网络传输,提高安全性。

调用:`CALL sp_get_student(1001);`

 

14. 范式(Normalization)

定义:数据库设计规范,减少数据冗余。

常见范式:

  第一范式(1NF):每列不可再分

  第二范式(2NF):满足1NF,且非主键字段完全依赖主键

  第三范式(3NF):满足2NF,且消除传递依赖

 

15. 连接查询(JOIN)

定义:合并多个表的数据。

类型:

  INNER JOIN(内连接):只返回匹配的行

  LEFT JOIN(左连接):返回左表所有行 + 匹配的右表行

  RIGHT JOIN(右连接):返回右表所有行 + 匹配的左表行

  FULL JOIN(全连接):返回所有行)

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)