zh-cn:数据库描述
Languages:
English •
中文(简体) •
日本語 •
(Add your language)
以下是在WordPress3.0版本标准安装过程中所创建的数据库表的大纲和描述。目前,WordPress3.0仅支持 MySQL 4.1.2及更高版本的数据库。
参见:
由于WordPress自己与数据库接口,作为终端用户,不必过分担心它的结构。而如果你是在编写插件,你也许会对学习如何直接与数据库接口感兴趣。WordPress提供了wpdb类简化了这一过程。
数据库图表
下面的图表提供了一个图形化的WordPress数据库概览,以及在WordPress(WordPress2.5+)标准安装过程中创建的表之间的关系。以下的数据表概览包含了表和列的额外详细说明。
(WP 3.0 Database diagram)
请注意,在wp的标准安装过程中表之间的完整性不是强制性的,比如文章和评论之间。如果你正在创建操作数据库的插件或扩展,你的代码应该做些清理工作,以便没有无用的记录留在表里。比如当外键被删除时,使用一个SQL命令集来删除其它表中的数据(不要忘记提醒用户,在进行此类操作前进行备份)。
表概述
这一节是在wp标准安装过程中创建的所有数据表的概述。详细内容在以下各表中。
表详细资料
以下是在wp标准安装过程中创建的数据表每个字段的详细信息。
Table: wp_commentmeta
| Field | Type | Null | Key | Default | Extra
|
| meta_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| comment_id | bigint(20) unsigned | | IND | 0 | FK->wp_comments.comment_id
|
| meta_key | varchar(255) | YES | IND | NULL |
|
| meta_value | longtext | YES | | NULL |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 0 | meta_ID
|
| comment_id | INDEX | none | comment_id
|
| meta_key | INDEX | none | meta_key
|
Table: wp_comments
| Field | Type | Null | Key | Default | Extra
|
| comment_ID | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| comment_post_ID | bigint(20) unsigned | | IND | 0 | FK->wp_posts.ID
|
| comment_author | tinytext | | | |
|
| comment_author_email | varchar(100) | | | |
|
| comment_author_url | varchar(200) | | | |
|
| comment_author_IP | varchar(100) | | | |
|
| comment_date | datetime | | | 0000-00-00 00:00:00 |
|
| comment_date_gmt | datetime | | IND & IND Pt2 | 0000-00-00 00:00:00 |
|
| comment_content | text | | | |
|
| comment_karma | int(11) | | | 0 |
|
| comment_approved | varchar(20) | | IND & Ind Pt1 | 1 |
|
| comment_agent | varchar(255) | | | |
|
| comment_type | varchar(20) | | | |
|
| comment_parent | bigint(20) unsigned | | | 0 | FK->wp_comments.ID
|
| user_id | bigint(20) unsigned | | | 0 | FK->wp_users.ID
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 1 | comment_ID
|
| comment_approved | INDEX | None | comment_approved
|
| comment_post_ID | INDEX | None | comment_post_ID
|
| comment_approved_date_gmt | INDEX | None | comment_approved comment_date_gmt
|
| comment_date_gmt | INDEX | None | comment_date_gmt
|
| comment_parent | INDEX | None | comment_parent
|
Table: wp_links
| Field | Type | Null | Key | Default | Extra
|
| link_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| link_url | varchar(255) | | | |
|
| link_name | varchar(255) | | | |
|
| link_image | varchar(255) | | | |
|
| link_target | varchar(25) | | | |
|
| link_description | varchar(255) | | | |
|
| link_visible | varchar(20) | | IND | Y |
|
| link_owner | bigint(20) unsigned | | | 1 |
|
| link_rating | int(11) | | | 0 |
|
| link_updated | datetime | | | 0000-00-00 00:00:00 |
|
| link_rel | varchar(255) | | | |
|
| link_notes | mediumtext | | | |
|
| link_rss | varchar(255) | | | |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 7 | link_ID
|
| link_category | INDEX | None | link_category
|
| link_visible | INDEX | None | link_visible
|
Table: wp_options
| Field | Type | Null | Key | Default | Extra
|
| option_id | bigint(20) unsigned | | PRI Pt1 | NULL | auto_increment
|
| blog_id | int(11) | | PRI Pt2 | 0 |
|
| option_name | varchar(64) | | PRI Pt3 & IND | |
|
| option_value | longtext | | | |
|
| autoload | varchar(20) | | | yes |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 184 | option_id blog_id option_name
|
| option_name | UNIQUE | 184 | option_name
|
Table: wp_postmeta
| Field | Type | Null | Key | Default | Extra
|
| meta_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| post_id | bigint(20) unsigned | | IND | 0 | FK->wp_posts.ID
|
| meta_key | varchar(255) | YES | IND | NULL |
|
| meta_value | longtext | YES | | NULL |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 13 | meta_ID
|
| post_id | INDEX | 15 | post_id
|
| meta_key | INDEX | 7 | meta_key
|
Table: wp_posts
| Field | Type | Null | Key | Default | Extra
|
| ID | bigint(20) unsigned | | PRI & IND Pt4 | | auto_increment
|
| post_author | bigint(20) unsigned | | | 0 | FK->wp_users.ID
|
| post_date | datetime | | IND Pt3 | 0000-00-00 00:00:00 |
|
| post_date_gmt | datetime | | | 0000-00-00 00:00:00 |
|
| post_content | longtext | | | |
|
| post_title | text | | | |
|
| post_excerpt | text | | | |
|
| post_status | varchar(20) | | IND PT2 | publish |
|
| comment_status | varchar(20) | | | open |
|
| ping_status | varchar(20) | | | open |
|
| post_password | varchar(20) | | | |
|
| post_name | varchar(200) | | IND | |
|
| to_ping | text | | | |
|
| pinged | text | | | |
|
| post_modified | datetime | | | 0000-00-00 00:00:00 |
|
| post_modified_gmt | datetime | | | 0000-00-00 00:00:00 |
|
| post_content_filtered | text | | | |
|
| post_parent | bigint(20) unsigned | | | 0 | FK->wp_posts.ID
|
| guid | varchar(255) | | | |
|
| menu_order | int(11) | | | 0 |
|
| post_type | varchar(20) | | IND Pt1 | post |
|
| post_mime_type | varchar(100) | | | |
|
| comment_count | bigint(20) | | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 2 | ID
|
| post_name | INDEX | None | post_name
|
| type_status_date | INDEX | None | post_type post_status post_date ID
|
| post_parent | INDEX | None | post_parent
|
| post_author | INDEX | None | post_author
|
Table: wp_terms
| Field | Type | Null | Key | Default | Extra
|
| term_id | bigint(20) unsigned | | PRI | | auto_increment
|
| name | varchar(200) | | | |
|
| slug | varchar(200) | | UNI | |
|
| term_group | bigint(10) | | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 2 | term_ID
|
| slug | UNIQUE | 2 | slug
|
| name | Index | none | name
|
Table: wp_term_relationships
| Field | Type | Null | Key | Default | Extra
|
| object_id | bigint(20) unsigned | | PRI Pt1 | 0 |
|
| term_taxonomy_id | bigint(20) unsigned | | PRI Pt2 & IND | 0 | FK->wp_term_taxonomy.term_taxonomy_id
|
| term_order | int(11) | | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 8 | object_id term_taxonomy_id
|
| term_taxonomy_id | INDEX | None | term_taxonomy_id
|
Table: wp_term_taxonomy
| Field | Type | Null | Key | Default | Extra
|
| term_taxonomy_id | bigint(20) unsigned | | PRI | | auto_increment
|
| term_id | bigint(20) unsigned | | UNI Pt1 | 0 | FK->wp_terms.term_id
|
| taxonomy | varchar(32) | | UNI Pt2 | |
|
| description | longtext | | | |
|
| parent | bigint(20) unsigned | | | 0 |
|
| count | bigint(20) | | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 2 | term_taxonomy_id
|
| term_id_taxonomy | UNIQUE | 2 | term_id taxonomy
|
| taxonomy | INDEX | None | taxonomy
|
Table: wp_usermeta
| Field | Type | Null | Key | Default | Extra
|
| umeta_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| user_id | bigint(20) unsigned | | | '0' | FK->wp_users.ID
|
| meta_key | varchar(255) | Yes | IND | NULL |
|
| meta_value | longtext | Yes | IND | NULL |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 9 | umeta_id
|
| user_id | INDEX | None | user_id
|
| meta_key | INDEX | None | meta_key
|
Table: wp_users
| Field | Type | Null | Key | Default | Extra
|
| ID | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| user_login | varchar(60) | | IND | |
|
| user_pass | varchar(64) | | | |
|
| user_nicename | varchar(50) | | IND | |
|
| user_email | varchar(100) | | | |
|
| user_url | varchar(100) | | | |
|
| user_registered | datetime | | | 0000-00-00 00:00:00 |
|
| user_activation_key | varchar(60) | | | |
|
| user_status | int(11) | | | 0 |
|
| display_name | varchar(250) | | | |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 1 | ID
|
| user_login_key | INDEX | None | user_login
|
| user_nicename | INDEX | None | user_nicename
|
多站点表概述
本部分是Wordpress的Multisite特性所建立的表的概述。这些表通过Administration > Tools > Network下的操作建立。
这些表被看作是全局多站点的表。
| WordPress 3.0 Multisite Tables
|
| Table Name | Description | Relevant Area(s) of WordPress User Interface
|
| wp_blogs
| Each site created is stored in the table, wp_blogs. |
|
| wp_blog_versions
| The current database version status of each site is maintained in the wp_blogs_versions table and is updated as each site is upgraded. |
|
| wp_registration_log
| The wp_registration_log records the admin user created when each new site is created. |
|
| wp_signups
| This table holds the user that have registered for a site via the login registration process. User registration is enable in Administration > Super Admin > Options. |
|
| wp_site
| The wp_site table contains the main site address. |
|
| wp_sitecategories
| If global terms (global_terms_enabled = true) are enabled for a site the wp_sitecategories table holds those terms. |
|
| wp_sitemeta
| Each site features information called the site data and it is stored in wp_sitemeta. Various option information, including the site admin is kept in this table. |
|
| wp_users
| The list of all users is maintained in table wp_users. Multisite add two fields not in the stand-alone version. |
|
| wp_usermeta
| This table is not re-create for multisite, but meta data of users for each site are stored in wp_usermeta. |
|
| Site Specific Tables
| The data of the main site are stored in existing unnumbered tables. The data of additional sites are stored in new numbered tables.
|
|
多站点表详细资料
The following describe the tables and fields created during the network installation. Note that a global set of tables is created upon creation of the network, and site-specific tables are established as each site is created.
Table: wp_blogs
| Field | Type | Null | Key | Default | Extra
|
| blog_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| site_id | bigint(20) unsigned | | IND | 0 |
|
| domain | varchar(200) | NO | | 0 |
|
| path | varchar(100) | NO | | |
|
| registered | datetime | NO | | 0000-00-00 00:00:00 |
|
| last_updated | datetime | NO | | 0000-00-00 00:00:00 |
|
| public | tinyint(2) | NO | | 0 |
|
| archived | enum('0','1') | NO | | 0 |
|
| mature | tinyint(2) | NO | | 0 |
|
| spam | tinyint(2) | NO | | 0 |
|
| deleted | tinyint(2) | NO | | 0 |
|
| lang_id | int(11) | NO | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 2 | blog_id
|
| domain | INDEX | none | domain(50),path(5)
|
| lang_id | INDEX | none | lang_id
|
Table: wp_blog_versions
| Field | Type | Null | Key | Default | Extra
|
| blog_id | bigint(20) unsigned | | PRI | 0 | FK->wp_blogs.blog_id
|
| db_version | varchar(20) | NO | | |
|
| last_updated | datetime | NO | | 0000-00-00 00:00:00 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 2 | blog_id
|
| db_version | INDEX | none | db_version
|
Table: wp_registration_log
| Field | Type | Null | Key | Default | Extra
|
| ID | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| email | varchar(255) | NO | | |
|
| IP | varchar(30) | NO | | |
|
| blog_id | bigint(20) unsigned | | PRI | 0 | FK->wp_blogs.blog_id
|
| date_registered | datetime | NO | | 0000-00-00 00:00:00 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 1 | ID
|
| IP | INDEX | none | IP
|
Table: wp_signups
| Field | Type | Null | Key | Default | Extra
|
| domain | varchar(200) | NO | | 0 |
|
| path | varchar(100) | NO | | |
|
| title | longtext | NO | | |
|
| user_login | varchar(60) | NO | IND | |
|
| user_email | varchar(100) | NO | | |
|
| registered_date | datetime | NO | | 0000-00-00 00:00:00 |
|
| activated | datetime | NO | | 0000-00-00 00:00:00 |
|
| active | tinyint(1) | NO | | |
|
| activation_key | varchar(50) | NO | | |
|
| meta | longtext | | | |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| activation_key | INDEX | None | activation_key
|
| domain | INDEX | None | domain
|
Table: wp_site
| Field | Type | Null | Key | Default | Extra
|
| id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| domain | varchar(200) | NO | | 0 |
|
| path | varchar(100) | NO | | |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 1 | id
|
| domain | INDEX | none | domain,path
|
Table: wp_sitecategories
| Field | Type | Null | Key | Default | Extra
|
| cat_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment
|
| cat_name | carchar(55) | NO | | |
|
| category_nicename | varchar(200) | NO | | |
|
| last_updated | timestamp | NO | | |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 9 | cat_id
|
| category_nicename | INDEX | None | category_nicename
|
| last_updated | INDEX | None | last_updated
|
Table: wp_sitemeta
| Field | Type | Null | Key | Default | Extra
|
| meta_id | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| site_id | bigint(20) unsigned | | | '0' | FK->wp_site.site_id
|
| meta_key | varchar(255) | Yes | IND | NULL |
|
| meta_value | longtext | Yes | IND | NULL |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 9 | meta_id
|
| meta_key | INDEX | None | meta_key
|
| site_id | INDEX | None | site_id
|
Table: wp_users
| Field | Type | Null | Key | Default | Extra
|
| ID | bigint(20) unsigned | | PRI | NULL | auto_increment
|
| user_login | varchar(60) | | IND | |
|
| user_pass | varchar(64) | | | |
|
| user_nicename | varchar(50) | | IND | |
|
| user_email | varchar(100) | | | |
|
| user_url | varchar(100) | | | |
|
| user_registered | datetime | | | 0000-00-00 00:00:00 |
|
| user_activation_key | varchar(60) | | | |
|
| user_status | int(11) | | | 0 |
|
| display_name | varchar(250) | | | |
|
| spam | tinyint(2) | NO | | 0 |
|
| deleted | tinyint(2) | NO | | 0 |
|
Indexes
| Keyname | Type | Cardinality | Field
|
| PRIMARY | PRIMARY | 1 | ID
|
| user_login_key | INDEX | None | user_login
|
| user_nicename | INDEX | None | user_nicename
|
Site Specific Tables
When a new additional site is created, the site-specific tables, similar to the stand-alone tables above, are created. Each set of tables for a site are created with the site ID (blog_id) as part of the table name. These are the tables that would be created for site ID 2 and table_prefix wp:
The data of the main site are stored in unnumbered tables.
资源
更新日志