🗄️ 数据库基础 · 目录

🗄️ 数据库基础

照着《完全图解数据库》做的自学笔记 —— 数据是怎么被存起来、管起来、随时取出来的?从「我们周围的数据」讲到关系模型、22 条 SQL 命令、约束与事务、表设计与三范式,再到备份恢复、SQL 注入防御和 AI 数据库。概念图解为主,SQL 示例用浏览器在线 SQLite 运行器就能跑(免安装)。大白话、不跳步骤、必带生活比喻、常见误区、可折叠自测题。
前置课程:计算机网络(数据怎么跑)、服务器工作原理(后台怎么运转)、C++ 基础(声明式 vs 过程式)。

内容来自我的 Obsidian 自学笔记 · 全 8 章 101 节完结 ✅

第一章 数据库的基础知识

第二章 数据的存储方式-关系型数据库的特征

第三章 操作数据库-SQL的使用方法

3-1

SQL命令-操作数据库的准备工作

语句三零件=关键字+对象+分号;在线运行…

⭐阅读全文 →
3-2

SQL语言的语句-操作数据命令的基本语法

一条语句一个分号;关键字不分大小写、字符…

⭐⭐阅读全文 →
3-3

CREATE DATABASE、DROP DATABASE-创建和删除数据库

库=表的容器;DROP 是全 SQL 最…

⭐⭐阅读全文 →
3-4

SHOW DATABASES、USE-显示与选择数据库

看楼层索引牌与推门进房;不 USE 就建…

⭐阅读全文 →
3-5

CREATE TABLE、DROP TABLE-创建和删除表

造表三定=列名+类型+约束;主键不重不空…

⭐⭐⭐阅读全文 →
3-6

INSERT INTO-添加记录

三种姿势=整行塞(怕串位)/点名塞(推荐…

⭐⭐阅读全文 →
3-7

SELECT-获取数据

SELECT 竖切挑列、FROM 定表…

⭐⭐⭐阅读全文 →
3-8

WHERE、=、AND、OR-缩小范围查找符合条件的记录

WHERE 横切筛行;一个 = 就是判等…

⭐⭐⭐阅读全文 →
3-9

!=、>、>=、<、<=、BETWEEN-用于查询的符号1-不相等的值、指定值的范围

比较符号全家福(!= 与 <> 同义)…

⭐⭐⭐阅读全文 →
3-10

IN、LIKE、IS NULL-用于查询的符号2-包含值的数据、查询空数据

IN 名单制;LIKE 万能牌 % 与占…

⭐⭐阅读全文 →
3-11

UPDATE-更新记录

表+SET+WHERE 三段;忘 WHE…

⭐⭐阅读全文 →
3-12

DELETE-删除记录

DELETE 删行留表、DROP 拆柜…

⭐⭐阅读全文 →
3-13

ORDER BY-排列记录

ASC 默认升序、DESC 降序;多列接…

⭐⭐阅读全文 →
3-14

LIMIT、OFFSET-指定需要获取的记录数量

LIMIT 必配 ORDER BY;翻页…

⭐⭐阅读全文 →
3-15

COUNT函数-获取记录的数量

COUNT(*) 数行 vs COUNT…

⭐⭐阅读全文 →
3-16

MAX函数、MIN函数-获取记录的最大值和最小值

要数值用 MAX、要人用 ORDER B…

⭐⭐阅读全文 →
3-17

SUM函数、AVG函数-获取记录的合计值和平均值

AVG 分母=有值行数(319÷4=79…

⭐⭐阅读全文 →
3-18

GROUP BY-对记录进行分组

分堆+每堆聚合两步画面;SELECT 只…

⭐⭐⭐阅读全文 →
3-19

HAVING-在分组后的记录中指定查询条件

WHERE 筛行、HAVING 筛堆;W…

⭐⭐⭐阅读全文 →
3-20

JOIN-合并多个表获取数据

A JOIN B ON 对号=外键对主键…

⭐⭐阅读全文 →
3-21

内连接、INNER JOIN-获取与值匹配的记录

INNER 可省略=JOIN;配对失败直…

⭐⭐⭐阅读全文 →
3-22

外连接、LEFT JOIN、RIGHT JOIN-获取标准记录及与之匹配的记录

以一方为准、落单补 NULL;LEFT…

⭐⭐⭐阅读全文 →

第四章 管理数据-避免非法数据的功能

4-1

数据类型-指定可保存的数据类型

类型是第一道防线:建表时给每列指定类型…

⭐阅读全文 →
4-2

INT、DECIMAL、FLOAT、DOUBLE-处理数值的数据类型

整数派 INT 够用就好;小数派里【钱永…

⭐⭐阅读全文 →
4-3

CHAR、VARCHAR、TEXT-处理字符串的数据类型

CHAR 定长补空格/VARCHAR 变…

⭐⭐阅读全文 →
4-4

DATE、DATETIME-处理日期和时间的数据类型

DATE 只存日期/DATETIME 带…

⭐⭐阅读全文 →
4-5

BOOLEAN-仅处理两种值的数据类型

真假两值;真相=底层 TINYINT:T…

⭐阅读全文 →
4-6

约束、属性-限制允许保存的数据

约束总图:类型管【是什么】,约束管【合不…

⭐⭐阅读全文 →
4-7

DEFAULT-设置默认值

没提这列才给默认值;显式写 NULL 会…

⭐⭐阅读全文 →
4-8

NULL-当没有放入任何数据时

NULL 不是 0 不是空串是【没有值】…

⭐⭐⭐阅读全文 →
4-9

NOT NULL-避免数据为空的状态

关键列禁止空:塞 NULL 当场报错;与…

⭐⭐阅读全文 →
4-10

UNIQUE-避免输入与其他记录重复的值

全表无重复;vs 主键:可 NULL、可…

⭐⭐阅读全文 →
4-11

AUTO_INCREMENT-自动输入连续的编号

数据库自动发号:只增不补/并发安全/别指…

⭐⭐阅读全文 →
4-12

PRIMARY KEY、主关键字、主键-使记录可以进行唯一识别

主键=行身份证:唯一/非空/一表一个;一…

⭐⭐⭐阅读全文 →
4-13

FOREIGN KEY、外键-与其他表进行关联

外键=表间挂钩:只许填别表真实存在的值…

⭐⭐⭐阅读全文 →
4-14

事务-集中执行无法分割的处理

多条 SQL 捆成整体:要么全成要么全不…

⭐⭐⭐阅读全文 →
4-15

COMMIT-执行一组处理

交付键:COMMIT 前别人看不见/CO…

⭐⭐阅读全文 →
4-16

回滚-取消一组已经执行的处理

后悔药:改动全在草稿区,撤得干净;出错必…

⭐⭐阅读全文 →
4-17

死锁-两个处理发生冲突导致处理停止的问题

两事务互持对方要的锁环形等待;数据库检测…

⭐⭐⭐阅读全文 →

第五章 引入数据库-数据库的结构与表的设计

5-1

步骤的整理-引入系统的流程

引入流程六步=调查/需求/设计/开发/测…

⭐⭐阅读全文 →
5-2

角色划分-引入系统的影响

三角色=用户/开发者/DBA;备份、权限…

⭐阅读全文 →
5-3

引入的缺点、引入的目的-探讨是否应当引入数据库

缺点=成本/运维/学习曲线;信号=量大…

⭐⭐阅读全文 →
5-4

需求定义-整理用户需求和使用目的

回答谁用/干什么/保什么;采集=听访谈…

⭐⭐阅读全文 →
5-5

实体、属性-思考需要保存的数据

实体=要单独记住的对象(变表)、属性=特…

⭐⭐阅读全文 →
5-6

关系、一对多、多对多、一对一-思考数据之间的关系

三种形状:一对多外键塞多方/多对多造中间…

⭐⭐⭐阅读全文 →
5-7

E-R图-使用图表表现数据之间的关系

三件套=实体方框·属性椭圆·关系菱形(主…

⭐⭐阅读全文 →
5-8

E-R图绘制方法-E-R图的表现形式

传统记法(菱形两端标 1/n)vs 乌鸦…

⭐⭐阅读全文 →
5-9

概念模型、逻辑模型、物理模型-E-R图的种类

三层下楼:概念(实体关系,用户看)→逻辑…

⭐⭐阅读全文 →
5-10

规范化-统一数据的格式

拆表工序总纲:目标【一份事实只存一处】…

⭐⭐阅读全文 →
5-11

第一范式-避免重复的项目

每格只装一个值:禁逗号串(LIKE 误伤…

⭐⭐阅读全文 →
5-12

第二范式-拆分其他种类的项目

非主键列必须认整个复合主键——只认一半的…

⭐⭐⭐阅读全文 →
5-13

第三范式-拆分处于从属关系中的项目

非主键之间不许互相依赖(学号→系→系电话…

⭐⭐⭐阅读全文 →
5-14

数值类型、字符串类型、日期类型-确定分配给列的设置

配型四问=数值吗/文字吗/日期吗/真假吗…

⭐⭐阅读全文 →
5-15

命名规则、同义词、同形(同音)异义词-确定表和列的名称

命名四条=见名知义/风格统一/单复数约定…

⭐⭐阅读全文 →
5-16

提取需求-书评网站表格设计的示例1-完成后的示意图

实战四连开工:需求清单+终点预览(三表两…

⭐⭐阅读全文 →
5-17

提取实体和属性-书评网站表格设计的示例2-理解数据之间的关系

三实体=用户/书/书评(弱实体当桥);平…

⭐⭐阅读全文 →
5-18

表的定义、中间表-书评网站表格设计的示例3-确定需要使用的表

users/books/reviews…

⭐⭐阅读全文 →
5-19

确定数据类型、约束条件、属性-书评网站表格设计的示例4-排列表和列

收官:配类型上约束写 DDL;ISBN=…

⭐⭐⭐阅读全文 →

第六章 运用数据库-旨在安全运用

第七章 用于保护数据库的基础知识-故障恢复与安全措施

第八章 活用数据库-在应用程序中使用数据库