数据与存储
数据库Database
你可能会问
数据库到底是什么?数据放在变量里不行吗,为什么非要一个数据库?
简单来说
按结构持久保存应用数据,并支持查询、更新和删除。
存在内存里存进数据库同一条数据,两种归宿
重启 · 内存清空重启 · 磁盘还在留得住,才叫保存
01 · 先这样理解
把抽象概念放进真实场景
按结构持久保存应用数据,并支持查询、更新和删除。
换个角度想数据库像银行的金库加账本:钱不是揣在店员兜里,而是入库记账。店员换班(服务重启)钱还在,取哪笔、查哪笔,都按账本来。
02 · 点击演示
重启服务器,注册的用户还在吗?
突出显示的部分,就是当前概念在整条流程中负责的位置。
- 新用户注册
写法users.push(amy)去向进程里的一个数组新用户注册写法INSERT INTO users …去向交给数据库保存 - 这一步不存在——
数据只活在进程的内存里记录写入磁盘
断电重启也不丢
半夜服务器重启过一次
users = [] · amy 已经不在了
按条件查询条件email = amy@x.com结果✓ 命中 1 条- 数据丢了重启一次,注册用户全没了内存是临时的,不是存储一直都在改昵称、查订单,都基于同一条记录持久保存,才支撑得起真实业务
1 / 4
Insert · 应用发起一次写入
03 · 放进真实任务
什么时候会遇到它
保存业务数据
用户、订单、文章——应用的核心数据都长期住在数据库里。
多端一份真相
手机和电脑登录同一账号看到一样的数据,因为读的是同一个库。
支撑查询统计
「本月订单量」「最活跃用户」这类问题,靠数据库查询直接回答。
04 · 想一想
用一个问题检查理解
AI 帮你做的待办应用,添加的任务一刷新就没了。最可能缺了什么?
查看答案
任务多半只存在页面内存或组件状态里,没有写进任何持久存储。让 AI 接一个数据库(或至少浏览器存储),把「添加任务」真正落成一次写入。
最容易踩的坑
数据库里是真实数据,删了就是真删了。让 AI 操作生产数据库前先确认有备份,写操作最好先在测试库演练。