返回术语

数据与存储

数据库Database

你可能会问

数据库到底是什么?数据放在变量里不行吗,为什么非要一个数据库?

简单来说

按结构持久保存应用数据,并支持查询、更新和删除。

动态说明刷新和重启之后,数据还在Database
同一条数据,两种归宿
留得住,才叫保存
内存里的数据随进程结束一起消失;写进数据库的数据被持久保存,还能按条件把需要的那几条查回来。

01 · 先这样理解

把抽象概念放进真实场景

按结构持久保存应用数据,并支持查询、更新和删除。

换个角度想

数据库像银行的金库加账本:钱不是揣在店员兜里,而是入库记账。店员换班(服务重启)钱还在,取哪笔、查哪笔,都按账本来。

02 · 点击演示

重启服务器,注册的用户还在吗?

突出显示的部分,就是当前概念在整条流程中负责的位置。

  1. 新用户注册

    写法users.push(amy)

    去向进程里的一个数组

    新用户注册

    写法INSERT INTO users …

    去向交给数据库保存

    当前步骤
  2. 这一步不存在——
    数据只活在进程的内存里

    记录写入磁盘

    断电重启也不丢

    等待进入
  3. 半夜服务器重启过一次

    users = [] · amy 已经不在了

    按条件查询

    条件email = amy@x.com

    结果✓ 命中 1 条

    等待进入
  4. 数据丢了重启一次,注册用户全没了内存是临时的,不是存储
    一直都在改昵称、查订单,都基于同一条记录持久保存,才支撑得起真实业务
    等待进入
1 / 4

Insert · 应用发起一次写入

03 · 放进真实任务

什么时候会遇到它

保存业务数据

用户、订单、文章——应用的核心数据都长期住在数据库里。

多端一份真相

手机和电脑登录同一账号看到一样的数据,因为读的是同一个库。

支撑查询统计

「本月订单量」「最活跃用户」这类问题,靠数据库查询直接回答。

04 · 想一想

用一个问题检查理解

AI 帮你做的待办应用,添加的任务一刷新就没了。最可能缺了什么?

查看答案

任务多半只存在页面内存或组件状态里,没有写进任何持久存储。让 AI 接一个数据库(或至少浏览器存储),把「添加任务」真正落成一次写入。

老师提醒

最容易踩的坑

数据库里是真实数据,删了就是真删了。让 AI 操作生产数据库前先确认有备份,写操作最好先在测试库演练。

⌘K搜索知识库

最近收录

正在载入知识索引…