🗄️ 第八章 活用数据库-在应用程序中使用数据库
📄 一句话概括

WordPress=全世界用得最多的「数据库活教材」:一个博客系统,背后就是十几张 MySQL 表——装一次它,就把「应用+数据库」的全景看完了。

📝 本节和前面几节的关系

8-1 讲了「客户端进门」,本节看一个真实应用怎么住进来:WordPress 是「应用在数据库之上生长」的标本——你发一篇博客,就是一条 INSERT;首页显示文章,就是一条 SELECT+JOIN。第五章书评网站的设计图,在 WordPress 里活生生跑着。

一、WordPress 与数据库的关系

二、它的表就是一本教科书

表 存什么 对应本课知识
wp_posts 文章、页面 3-5 建表、4-1 类型
wp_users 用户账号 4-12 主键、6-8 密码哈希
wp_comments 评论(挂在文章上) 4-13 外键思想
wp_options 站点设置 键值对(2-6 的现实版)

发文章=wp_posts 加一行;收评论=wp_comments 加一行并指向某篇文章——第五章的多对多/一对多设计在成熟产品里随处可见。

三、动手 Demo:给 WordPress 的文章表「考古」

-- 模拟 wp_posts 的骨架(简化版)
CREATE TABLE wp_posts (
  id INTEGER PRIMARY KEY,          -- 主键(4-12)
  author_id INTEGER,               -- 指向 wp_users(外键思想 4-13)
  title TEXT NOT NULL,             -- 4-9 非空约束
  content TEXT,
  status TEXT DEFAULT 'draft',     -- 4-7 默认值:草稿
  published_at TEXT
);

-- 你点「发布」,WordPress 干的事:
INSERT INTO wp_posts (author_id, title, content, status, published_at)
VALUES (1, '我的第一篇博客', '大家好!', 'publish', datetime('now'));

-- 首页显示已发布文章,WordPress 干的事:
SELECT id, title FROM wp_posts
WHERE status = 'publish' ORDER BY published_at DESC;

【准备块】在线 SQLite 运行器即可;每写一句都对照「这是界面上哪个按钮」。

四、30 秒实验

去玩一下任何博客/公众号后台:点「发布」→ 数据库里多一行;改标题 → UPDATE 一行。每个你点过的按钮,都是一条 SQL 的化身——从此看应用多一层透视眼。

五、常见误区

自测三问 1. WordPress 的程序与数据库各管什么?(程序管界面逻辑;数据全部存 MySQL——应用与数据分离) 2. 发一篇博客对应数据库的什么操作?(wp_posts 表一条 INSERT,status 置 publish) 3. wp_comments 关联 wp_posts 靠什么思想?(外键指向文章 id——一对多:一篇文章多评论)

相关笔记