Skip to content
难度LEVEL
阅读READ约 2 分钟~2 min
更新UPDATED2026-09

第 3 章 数据库 · 软件的记忆

easycode · Agent Skill
表 Table · 一个极其严谨的 Excel 工作表 id email 注册时间 状态 行 Row · 一条记录,比如一个用户 列 Column · 一个属性 SELECT * FROM users 和它说话的语言叫 SQL 核心只有查 · 增 · 改 · 删 stickmancharles.com · CC BY-NC-ND 4.0
图 3 · 表、行、列:一个极其严谨的 Excel

程序有个天生的毛病,一关掉,脑子里的东西就全没了。可用户第二天回来,凭什么你还记得他是谁、他传过什么文件、他有哪些凭证?靠的是数据库(Database),一个专门负责记住的软件。这些东西从来不存在程序里,程序只在需要时去数据库里取。

最快的理解方式是把数据库想成一个极其严谨的 Excel。一张表(Table)对应 Excel 里的一个工作表。一行(Row)是一条记录,比如一个用户。一列(Column)是一个属性,比如邮箱、注册时间。我们用的 Supabase,底下就是世界上最受欢迎的开源数据库 Postgres

和数据库说话有专门的语言,叫 SQL。别被吓到,它的核心只有四个动词,查(SELECT)、增(INSERT)、改(UPDATE)、删(DELETE)。比如这一句。

sql
SELECT * FROM users WHERE email = 'dad@example.com';

意思是从 users 表里,把邮箱等于这个的行都找出来。你看 Claude Code 写的 SQL,八成都是这四个动词的变体。

那为什么不直接用 Excel 或者一堆文件来存?数据库解决了四个 Excel 搞不定的问题。一千个人同时读写不打架。在百万行里瞬间查到你要的那一条。精确控制谁能看哪些行、谁能改哪些列。断电、崩溃也不丢数据。至于 Supabase 是什么,它帮你把 Postgres 托管好,再送你登录系统(Auth)、文件存储和现成的 API,所以 Claude Code 三句话不离它。

顺带认识一个你常会见到的词,迁移(Migration)。每次修改表结构,加一列,建一张表,都写成一个脚本保存下来,让数据库的每一步变化都有据可查、可以重放,相当于给数据库结构做版本记录。

关键领悟

你产品里一切属于用户的东西,几乎都住在数据库里。设计表结构的过程,就是想清楚我的产品到底要记住什么。

试一试

打开 Supabase 后台的 Table Editor,随便点开一张表,亲手把表、行、列各自指认一遍。

由 Charles Tao 与 Claude 协作写成——这本身就是这套书讲的工作方式。Written by Charles Tao with Claude — which is itself the working method this series teaches. · 许可License