读完这篇,你会用文件柜的比喻彻底搞懂数据库是什么、表和行有什么关系,以及为什么 AI 编程项目几乎都会用到它。
「数据库」这个词,吓退了多少人
你第一次看到「数据库」这个词,大概是在 AI 帮你生成的项目方案里。AI 说「用一个数据库存储用户数据」,你点了点头假装懂了,心里想的是——这到底是啥,是不是很复杂。
数据库的英文是 Database,翻译很直白——数据的仓库。但这个翻译还是太抽象了。
别记这个定义。 记一个你每天都见到的东西——文件柜。

文件柜,你其实早就会用数据库了
想象你开了一家小公司。一开始客户不多,你把客户信息写在纸上,塞进文件柜的第一个抽屉。订单信息塞进第二个抽屉。商品信息塞进第三个抽屉。
每个抽屉里有一沓文件夹,每个文件夹记录一个客户、一笔订单或一件商品。你想找某个客户的信息,就打开第一个抽屉,翻到对应的那张纸。
数据库就是这个文件柜,只不过它是电子版的。
| 文件柜 | 数据库 | 说明 |
|---|---|---|
| 文件柜 | 数据库(Database) | 存放所有数据的容器 |
| 抽屉 | 表(Table) | 每个抽屉存一类数据 |
| 一张纸 | 一行数据(Row) | 一条具体记录 |
| 纸上的栏目 | 列(Column/Field) | 每个栏目是一个字段 |
| 翻找文件 | 查询(Query) | 找到你想要的数据 |
| 放入新文件 | 插入(Insert) | 添加一条新记录 |
| 修改文件内容 | 更新(Update) | 修改已有记录 |
| 扔掉旧文件 | 删除(Delete) | 删除一条记录 |
数据库的本质就是,有组织地存放数据,而且能快速找到它。
表和行,就是抽屉和纸
你可能经常听到程序员说「数据库里有一张 users 表」。这听起来很专业,但翻译过来就是「文件柜里有一个抽屉,里面装着所有用户信息」。
假设你的 users 表(抽屉)里存了三个用户,它长这样,
| id | name | age | |
|---|---|---|---|
| 1 | 张三 | zhang@test.com | 28 |
| 2 | 李四 | li@test.com | 35 |
| 3 | 王五 | wang@test.com | 22 |
- 整个表格就是一张表(Table)——一个抽屉
- 每一行就是一条记录(Row)——一张纸
- 每一列就是一个字段(Column)——纸上的栏目
你不需要自己建这个表格。你跟 AI 说「帮我做一个用户管理功能」,AI 会帮你设计需要哪些表、哪些字段。你只需要理解这个结构就行——表就是抽屉,行就是纸,列就是纸上的栏目。
数据库的四种操作,就是文件柜的四种动作
你平时用文件柜做的事情无非四种——放新文件、找文件、改文件、扔文件。数据库也一样,这四种操作缩写为 CRUD。

| 操作 | 文件柜动作 | 数据库术语 | SQL 命令 |
|---|---|---|---|
| 增 | 往抽屉里放一张新纸 | Create(创建) | INSERT |
| 查 | 从抽屉里翻找某张纸 | Read(读取) | SELECT |
| 改 | 拿出纸,改内容,放回去 | Update(更新) | UPDATE |
| 删 | 从抽屉里抽出纸扔掉 | Delete(删除) | DELETE |
你跟数据库「说话」用的语言叫 SQL(Structured Query Language,结构化查询语言)。听起来高深,其实就是几句简单的英语。
比如你想查所有年龄大于 25 岁的用户,
SELECT * FROM users WHERE age > 25;
翻译成人话就是——从 users 抽屉里,把所有年龄大于 25 的纸找出来。SELECT * 表示「把纸上的所有内容都给我」,FROM users 表示「从 users 这个抽屉里找」,WHERE age > 25 表示「条件是年龄大于 25」。
你不需要学 SQL。 AI 编程时你用自然语言告诉 AI「帮我查一下年龄大于 25 的用户」,AI 会帮你写出 SQL。但理解这四种操作,能让你看懂 AI 写的代码在干什么。
为什么 AI 编程总提到数据库
你跟 AI 说「帮我做一个博客网站」,AI 大概率会说「需要一个数据库来存储文章和评论」。原因很简单——文章、评论、用户信息这些数据,不能只存在内存里(关机就没了),也不能只存在前端代码里(用户刷新页面就丢了)。需要一个专门的地方持久化存储,这就是数据库。
AI 编程中你最常遇到的几种数据库,
| 数据库 | 特点 | 适用场景 |
|---|---|---|
| SQLite | 一个文件就是整个数据库,零配置 | 小项目、本地开发、AI 编程入门首选 |
| PostgreSQL | 功能强大,支持复杂查询 | 中大型项目、正式上线 |
| MySQL | 老牌选手,使用广泛 | 传统 Web 项目 |
| Supabase | PostgreSQL 的云端版,自带 API | AI 编程最友好,前后端一步到位 |
| MongoDB | 存的不是表格而是 JSON 文档 | 数据结构灵活多变的项目 |
如果你是零基础入门,记住一个名字就够了——SQLite。 它不需要安装服务器,不需要配置,一个文件就是一整个数据库。AI 生成代码时经常会默认用 SQLite 来做本地开发,你什么都不用管,AI 全搞定。
一个完整的例子,从建表到查询
假设你让 AI 帮你做一个待办事项 App,AI 会帮你设计一个 todos 表,大概长这样,
-- 建一个抽屉(表),用来存待办事项
CREATE TABLE todos (
id INTEGER PRIMARY KEY, -- 编号,每条自动+1
title TEXT NOT NULL, -- 待办标题
done INTEGER DEFAULT 0 -- 是否完成,0=没完成,1=完成了
);
-- 往抽屉里放三张纸(插入数据)
INSERT INTO todos (title, done) VALUES ('买牛奶', 0);
INSERT INTO todos (title, done) VALUES ('写周报', 0);
INSERT INTO todos (title, done) VALUES ('交房租', 1);
-- 从抽屉里找出所有没完成的待办(查询)
SELECT * FROM todos WHERE done = 0;
执行完上面的操作,数据库会返回两条记录——「买牛奶」和「写周报」,因为它们的 done 都是 0(没完成)。「交房租」的 done 是 1(已完成),被过滤掉了。
这就是数据库最基本的工作方式——你用 SQL 告诉它要什么,它把结果给你。 你不用关心数据存在硬盘的哪个位置,不用关心怎么遍历,数据库自己搞定。
常见疑问
数据库和 Excel 有什么区别?
Excel 是电子表格,人用的。数据库是程序用的,能处理百万级数据不卡顿,支持多用户同时读写,有权限控制和事务保障。小项目用 Excel 能凑合,但一旦数据量大或多用户操作,就必须用数据库了。你可以把数据库理解为「超级加强版的 Excel,但不是给人看的,是给程序调用的」。
数据一定要存在数据库里吗?
不一定。非常简单的项目可以存在内存里(关机就没)或 JSON 文件里(读写慢、没有查询能力)。但只要涉及用户数据、需要持久化存储、需要按条件查询,用数据库就是最佳选择。AI 会根据项目复杂度建议你用不用数据库。
数据库安全吗?数据会丢吗
正规数据库有「事务」机制——要么操作全部成功,要么全部回滚,不会做一半崩了导致数据错乱。还有定期备份、日志恢复等机制。比你自己写文件安全得多。不过你仍然应该定期备份,尤其是生产环境的数据。
我要自己安装数据库吗?
大多数情况下不用。AI 编程时如果你用 SQLite,它不需要安装,代码直接读写本地文件。如果你用 Supabase,注册账号就能用,云端托管。只有当你用 PostgreSQL 或 MySQL 自建时才需要安装,AI 会给你详细步骤。
小结
| 概念 | 文件柜比喻 | 一句话解释 |
|---|---|---|
| 数据库 | 文件柜 | 有组织地存放数据的容器 |
| 表(Table) | 抽屉 | 存一类数据的地方 |
| 行(Row) | 一张纸 | 一条具体记录 |
| 列(Column) | 纸上的栏目 | 一个字段属性 |
| SQL | 跟文件柜管理员说话的语言 | 操作数据库的标准语言 |
| INSERT | 放新纸 | 添加一条记录 |
| SELECT | 翻找纸 | 查询记录 |
| UPDATE | 改纸内容 | 修改记录 |
| DELETE | 扔掉纸 | 删除记录 |
| SQLite | 一个便携文件柜 | 零配置的轻量数据库 |
下次再看到「数据库」「SQL」「表」,你就在脑子里想——就是文件柜、管理员说的话、抽屉。没什么难的。