存数据这件事终于讲明白

数据库是什么?

数据库就是网站和 App 背后的“长期记忆”。用户账号、文章内容、购物车、订单记录、学习进度,都要放在数据库里。

你可以把它理解成一个更专业、更安全、更快的 Excel。它不只是保存数据,还能按条件快速查找、修改、删除,并保证多人同时操作时不容易乱。

保存用户 查询订单 记录学习进度

先记住这一句

数据库负责长期保存。程序重启、用户关掉页面,数据也不会消失。

数据库负责快速查找。哪怕有几十万条数据,也能很快找到你要的那条。

数据库负责保持可靠。比如付款和生成订单,要么都成功,要么都失败。

STEP 01

数据库在项目里负责哪一步?

用“登录”这个场景看一遍,比背概念更容易懂。

前端

01

页面发请求

用户点击登录、发布文章、提交订单,页面会把这些操作发给后端。

我要登录:手机号 138****8888

后端

02

后端做判断

后端先检查参数、权限和业务规则,再决定要不要去数据库查数据或写数据。

这个手机号有没有注册?密码对不对?

数据库

03

数据库保存和查询

数据库负责把用户、文章、订单这些数据长期保存,并在需要时快速找出来。

从 users 表里找到这位用户

响应

04

结果返回页面

后端拿到结果后返回给前端,页面再显示“登录成功”或“密码错误”。

登录成功,返回用户信息

关系可以这样记

前端负责“让用户操作”,后端负责“判断能不能做”,数据库负责“把数据保存好、找出来”。数据库通常不直接面对用户,而是由后端去访问它。

STEP 02

数据库大致分三类

不用一开始全学会,先知道它们分别适合干什么。

新手首选

关系型数据库

像 Excel 表格的加强版

最适合用户、订单、课程、文章这类结构清楚的数据。

MySQLPostgreSQLSQLite

规矩清楚,数据不容易乱

适合大多数 Web 项目

可以用 SQL 做复杂查询

提醒:新手做网站或管理系统,默认从它开始。

文档型数据库

像一堆 JSON 文件

适合字段经常变、结构不固定的内容,比如用户画像、配置、日志。

MongoDBFirebase

字段灵活,改起来快

前期做原型很省事

很适合存 JSON 风格数据

提醒:灵活也意味着更要自律,不然数据容易越存越乱。

缓存 / 键值数据库

像超快的临时便签

适合存登录状态、验证码、排行榜、热门数据缓存。

RedisMemcached

读写非常快

适合临时数据和热点数据

常和主数据库搭配使用

提醒:一般不单独当主数据库,项目有性能压力再加。

STEP 03

表、字段、记录到底是什么?

先把关系型数据库当成 Excel,看懂就不怕了。

users 表

用一张用户表理解数据库

一行 = 一个用户
id 主键 name 姓名 email 邮箱 role 角色
1小明ming@example.com普通用户
2小红hong@example.com管理员
3小李li@example.com普通用户

表:一类东西

users 表专门放用户,orders 表专门放订单,不同类型的数据分开放。

字段:一项属性

name、email、role 都是字段,决定每条数据要保存哪些信息。

记录:一条完整数据

表里的每一行就是一条记录,比如 id 为 1 的用户“小明”。

STEP 04

看文档会遇到的高频词

这些词不用死记,知道它们解决什么问题就够了。

表 Table

一类数据放一张表

比如用户放 users 表,订单放 orders 表,文章放 posts 表。

字段 Column

表里的每一列

比如用户表里的 name、email、password,都是字段。

记录 Row

表里的每一行

一行就是一条完整数据,比如一个用户、一篇文章、一个订单。

主键 Primary Key

每条数据的唯一编号

通常叫 id。它像身份证号,保证数据库能准确找到某一条记录。

外键 Foreign Key

两张表之间的连接线

订单表里有 user_id,就能知道这个订单属于哪个用户。

索引 Index

给数据库做目录

经常按 email、手机号、订单号查询,就给这些字段加索引,查询会快很多。

SQL 是什么?

SQL 是和关系型数据库说话的语言。比如“查出所有管理员用户”“把小明的邮箱改掉”“新增一条订单”。现在你可以先让 AI 帮你写 SQL,重点是看懂它大概在查哪张表、用什么条件。

ORM 是什么?

ORM 像翻译官,让你用 JavaScript、TypeScript、Python 去操作数据库,它背后再自动翻译成 SQL。比如 Prisma、SQLAlchemy。新手写项目时,ORM 通常比直接手写 SQL 更顺手。

STEP 05

数据库最常做的四件事

你会经常看到 CRUD,它其实就是增删改查。

Create

新增

注册用户、发布文章、创建订单

Read

查询

查看个人资料、文章列表、订单详情

Update

修改

改昵称、改密码、更新订单状态

Delete

删除

删除草稿、取消收藏、移除记录

STEP 06

我该选哪个数据库?

按场景选,不需要陷入“哪个最好”的争论。

第一个 Web 项目 / 管理后台

MySQL 或 PostgreSQL

教程最多、业务场景覆盖广,搭配 Prisma 很适合新手。

不想本地安装,想快速上线

Supabase

它本质是托管 PostgreSQL,还送管理后台、登录、文件存储等能力。

只是本地练习或小工具

SQLite

数据库就是一个文件,不用装服务,配置最少。

字段经常变,结构很灵活

MongoDB

文档型数据库更像直接存 JSON,迭代很快。

需要验证码、登录状态、缓存

Redis

速度快,适合临时数据。它是配角,通常跟主数据库一起用。

Node.js / TypeScript 后端

PostgreSQL + Prisma

类型提示好,迁移方便,当前这个项目后端也在使用 Prisma。

一句话结论

新手做 Web 项目,默认选 MySQL 或 PostgreSQL; 想省部署和管理成本,用 Supabase; 本地小项目用 SQLite; 需要缓存和临时状态时,再加 Redis