WordPress的数据库分析 – 表与表之间的关系

WordPress的数据库分析:缘由:用了一段时间WordPress,想改成百度的MIP,又想自己改写主题,做成自己风格的主题,又想自己DIY插件,就像自己工作中做项目一样,想要熟悉一个项目,那么先要了解其文件架构,以及其数据结构。所以临时装了一个4.9.6版本的WordPress,用最初始的情况来分析其数据库。

WordPress的数据库分析

  • 首先可以看到这里有12张表,且表与表之间的关系如下:

  • 每张表的用途

  1. *_commentmeta:

    文章评论垃圾评论信息表。主要用来存储一些垃圾评论信息的,或者 被手动置为垃圾信息的信息。使用命令

    TRUNCATE TABLE `*_commentmeta`

    该表需要定时清理,否则会慢慢的占用数据库。

  2. *_comments: 

    文章评论信息表。这用于记录每一条评论的详细信息,比如对应的文章ID,评论者的IP,评论者的邮箱等等。管理员可以在仪表盘-评论中去管理这些评论。

  3. *_links:

    保存包含在WordPress 文章中的链接的相关信息。通过 仪表盘 -> 链接 去管理

  4. *_options:

    用于保存 仪表盘->选项(Setting)下面各项参数,以及插件的配置信息,还有 仪表盘->外观->小工具 的参数。

  5. *_postmeta:

    每篇文章的特性信息(元数据)都被存储在该表中. 有些插件可能会添加他们自己的信息到这个表里.比如文章浏览次数,文章的自定义字段,文章的关键字,元信息ID等…,修改仪表盘->文章->添加 仪表盘->页面->添加 会修改到这个表

  6. *_posts:

    文章的主要信息表,比如:文章的内容,附件,页面等等。通过对 仪表盘->文章  仪表盘->页面  仪表盘->多媒体 进行编辑动作会影响到该表。

  7. *_terms:

    保存了文章分类和链接分类以及文章的tag分类。涉及 仪表盘->管理->文章 或 仪表盘->管理->链接

  8. *_term_relationships:

    分类关系表。保存了分类表(*_terms)与文章信息表(wp_posts)、链接表(wp_links)、分类信息表(*_term_taxonomy)之间的关联关系。涉及 仪表盘->管理->文章 或 仪表盘->管理->链接

  9. *_term_taxonomy:

    分类信息表:描述了分类表(*_terms)中每个条目的分类系统 (分类,链接,或tag).涉及 仪表盘->管理->文章 或 仪表盘->管理->链接

  10. *_termmeta: 

    用来存储网站分类和标签的属性,需要配合*_terms表一起使用。涉及 仪表盘->管理->文章 或 仪表盘->管理->链接

  11. *_usermeta:

    保存每个用户的元信息 。涉及仪表盘->用户

  12. *_users:

    用户列表,保存用户的相关信息 涉及仪表盘->用户

在wordpress/wp-includes/wp-db.php 中定义了table数组,以方便创建这些表。

这个留待下一篇研究

发表评论

电子邮件地址不会被公开。 必填项已用*标注