WordPress 数据库介绍

王 茂南 2022年2月11日07:46:28
评论
4605字阅读15分21秒
摘要本文会介绍 WordPress 中的数据库,具体来说会介绍WordPress 中常用的 10 个数据表。同时会介绍有无 meta 数据表的区别。

简介

本文会介绍 WordPress 中的数据库,具体来说会介绍WordPress 中常用的 10 个数据表。首先会大致介绍这 10 个数据表,简单分为 6 类。接着会详细介绍10 个数据表。

参考资料

 

WordPress 数据库简介

我在这里将 WordPress 中的数据表分为 6 类,我们会在后面的章节对这些表进行详细的介绍。

  • 系统选项配置表
    • wp_options:存储 WordPress 系统选项和插件、主题配置;
  • 文章表(非常重要)
    • wp_posts:存储文章(包括页面、上传文件、修订);
    • wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据;
  • 文章分类与文章标签表(非常重要)
    • wp_terms:存储每个「文章分类」、「文章标签」的名称等;
    • wp_term_taxonomy:存储每个 term 是「文章分类」、「文章标签」;
    • wp_term_relationships:存储每个文章是什么「文章分类」,有哪些「文章标签」;
  • 用户信息表
    • wp_users:存储用户;
    • wp_usermeta:存储用户的元数据;
  • 评论表
    • wp_comments:存储评论;
    • wp_commentmeta:存储评论的元数据;
  • 友链表
    • wp_links:存储友情链接(Blogroll);

 

带有 Meta 的数据表

WordPress 数据库中,会有一些表是带有 meta 的,例如 wp_userswp_usermetawp_commentswp_commentmetawp_postswp_postmeta。那么这些带有 meta 的数据表和不带有meta 的数据表会有什么区别呢,本节会对这两类数据表进行介绍。

wp_users 为例, wp_users已经存储了每个用户会用到的基本信息,比如 login_namedisplay_namepasswordemail 等常用信息,但如果我们还要存储一些不常用的数据,最好的做法不是去在表后加上一列,去破坏默认的表结构,而是将数据存在 wp_usermeta。下图是 wp_users 表中每一个字段:

WordPress 数据库介绍

wp_usermeta 采用了 key-value 模式存储,我们可以在这里存储每个用户的 QQ 号码、手机号码、登录 WordPress 后台的主题选项等等。下图是wp_usermeta 中的每一个字段:

WordPress 数据库介绍

我们具体来看一下 wp_usermeta 中的内容,可以看到会包含一个用户其他的额外信息,例如介绍(description),昵称(nickname)等:

WordPress 数据库介绍

 

WordPress 数据表详细介绍

下面会详细介绍前面提到的六类表,其中我认为比较重要的是「文章表」和「文章分类与文章标签表」,分别记录文章的内容和文章所属的类别。

 

系统选项配置表

wp_options:存储系统选项和插件配置的 wp_options 表是比较独立的结构,它采用了key-value 模式存储,这样做的好处是易于拓展,各个插件都可以轻松地在这里存储自己的配置。

WordPress 数据库介绍

下面是 wp_options 表所有的字段和字段的介绍。wp_options 表中会存储本站的地址(siteurl),博客的名称(blogname),管理者邮箱(admin_email)等信息;

  • option_id:自增唯一 ID
  • blog_id:博客 ID,用于多用户博客,默认 0
  • option_name:键名
  • option_value:键值
  • autoload:在 WordPress 载入时自动载入(yes/no)

 

用户表

wp_userswp_users表主要记录用户的基础信息,包括登录的名和密码的哈希值。下面是wp_users表所有的字段和字段的含义:

  • ID:自增唯一 ID(用户 ID)
  • user_login:登录名
  • user_pass:密码
  • user_nicename:昵称
  • user_email:Email
  • user_url:网址
  • user_registered:注册时间
  • user_activation_key:激活码
  • user_status:用户状态
  • display_name:显示名称

 

wp_usermetawp_usermeta 表会对wp_users表中的用户进行一些补充,包括「用户介绍」,「用户权限」等。下面是wp_usermeta 表所有的字段和字段的含义,我们通过 user_idmeta_key 可以找到某个用户的某个信息

  • umeta_id:自增唯一ID
  • user_id:对应用户ID
  • meta_key:键名
  • meta_value:键值

 

评论表

wp_commentswp_comments 表会存储网站的评论。下面是wp_comments 表所有的字段和字段的介绍:

  • comment_ID:自增唯一 ID
  • comment_post_ID:对应文章 ID(这个评论在哪一篇文章下面)
  • comment_author:评论者(名称)
  • comment_author_email:评论者邮箱
  • comment_author_url:评论者网址
  • comment_author_IP:评论者IP
  • comment_date:评论时间
  • comment_date_gmt:评论时间(GMT+0时间)
  • comment_content:评论正文(评论的内容)
  • comment_karma:未知
  • comment_approved:评论是否被批准
  • comment_agent:评论者的 USER AGENT,类似 Mozilla/5.0;
  • comment_type:评论类型(pingback/ comment)
  • comment_parent:父评论 ID(回复某一个评论)
  • user_id:评论者用户ID(不一定存在)

 

wp_commentmetawp_commentmeta 表的结构与wp_usermeta 表类似,也是对评论内容的补充。下面是wp_commentmeta 表所有的字段和字段的含义:

  • meta_id:自增唯一ID
  • comment_id:对应评论ID
  • meta_key:键名
  • meta_value:键值

 

文章表

wp_posts:下面是 wp_posts 表的所有字段和字段的介绍。其中加粗的字段是其中需要的。

  • ID:自增唯一 ID(文章的 ID)
  • post_author:对应作者 ID
  • post_date:发布时间
  • post_date_gmt:发布时间(GMT+0时间)
  • post_content:正文内容
  • post_title:标题
  • post_excerpt:摘录(每篇文章的简单概述)
  • post_status:文章状态(publish/auto-draft/inherit等),这里默认是 publish
  • comment_status:评论状态(open/closed),这里默认是 open
  • ping_status:PING状态(open/closed),这里默认是 open
  • post_password:文章密码
  • post_name:文章缩略名(可以用文章缩略名作为 URL)
  • to_ping:未知
  • pinged:已经PING过的链接
  • post_modified:修改时间
  • post_modified_gmt:修改时间(GMT+0时间)
  • post_content_filtered:未知
  • post_parent:父文章,主要用于 PAGE(页面)
  • guid:每一篇文章有唯一的 guidguid 用于 RSS feed。guid 的格式一般为 网站域名+?p=[ID](The most common place the GUID is used is in the WordPress RSS feed. Since the RSS 2.0 specification was published in 2002, RSS feeds have implemented the guid element as a unique identifier for any feed item.)
  • menu_order:排序ID,默认是 0
  • post_type:文章类型(post/page等),这里默认是 post
  • post_mime_type:MIME类型
  • comment_count:评论总数,默认是 0

 

wp_postmetawp_postmeta 表的结构与wp_usermeta 表类似,是对文章内容的补充。也是通过 post_idmeta_key 可以找到对应文章的信息。其中比较重要的 meta_key 有缩略图的链接(thumbnail) 和 文章阅读次数(views)。例如 Mysql基础知识02-基础SQL语句 这篇文章目前被阅读了 39 次:

WordPress 数据库介绍

下面是 wp_postmeta 表的所有字段和字段的含义

  • meta_id:自增唯一ID;
  • post_id:对应文章ID;
  • meta_key:键名;
  • meta_value:键值;

 

文章分类与文章标签表

wp_terms:主要记录「文章标签」与「文章分类」。他的字段和字段介绍如下所示:

  • term_id:分类ID
  • name:分类名
  • slug:缩略名(用于 url 的显示)
  • term_group:未知

例如「北邮人论坛十大」,既是「文章标签」,也是「文章分类」,因此在 wp_terms 表中会有两条记录,如下所示:

WordPress 数据库介绍

 

wp_term_taxonomy:主要记录每一个 term 的所属分类,例如是「文章分类」还是「文章标签」。同时也会记录该 term 的文章个数等信息;

  • term_taxonomy_id:分类方法ID;
  • term_id:对应 wp_terms 表中的 term ;
  • taxonomy:分类方法(category/post_tag),这里 category 是「文章分类」,post_tag 是「文章标签」;
  • description:对term的解释 ;
  • parent:所属父分类方法 ID;
  • count:文章数统计;

例如对 wp_terms 表中的 208210 来说,他们在 wp_term_taxonomy 表中的结果如下所示。可以看到 208 是「文章分类」,而 210 是「文章标签」。

WordPress 数据库介绍

 

wp_term_relationships:记录每一篇文章使用了哪一些 term。及文章的「标签」和「分类」。他的字段和字段介绍如下所示:

  • object_id:对应文章ID/链接ID
  • term_taxonomy_id:对应分类方法ID
  • term_order:排序

例如对于文章 北邮人论坛十大_2021-11-19 来说,他的文章分类是「北邮人论坛十大」,文章标签是「北邮人论坛十大」和「北邮人论坛」,于是可以查到下面三条记录:

WordPress 数据库介绍

 

友链表

wp_linkswp_links 表记录友链。下面是该表的所有字段和字段的含义:

  • link_id:自增唯一ID
  • link_url:链接URL
  • link_name:链接标题
  • link_image:链接图片
  • link_target:链接打开方式
  • link_description:链接描述
  • link_visible:是否可见(Y/N)
  • link_owner:添加者用户ID
  • link_rating:评分等级
  • link_updated:未知
  • link_rel:XFN关系
  • link_notes:XFN注释
  • link_rss:链接RSS地址

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2022年2月11日07:46:28
  • 转载请务必保留本文链接:https://mathpretty.com/14529.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: