The following is an outline and description of the database tables created during the standard installation of WordPress V 2.0.x. At the time, the only database supported by WordPress was MySQL version 3.23.23 or greater.
Because WordPress interfaces with this database by itself, you as an end user, shouldn't have to worry much about its structure. If you're Writing a Plugin, however, you may be interested in learning how to interface with the database directly. WordPress provides the wpdb Class to make this task easy.
This section is the overview of all the tables created during the WordPress standard installation. It is followed by specific information of what is in each table.
WordPress 2.0 Tables (10) | ||
Table Name | Description | Relevant Area(s) of WordPress User Interface |
wp_categories | The post categories for WordPress are found within the wp_categories table and they feature five columns. Refer to | Administration Panels >> Manage >> Categories |
wp_comments | The comments within WordPress are stored in the wp_comments table which contains 15 columns. | Comments are created by readers as responses to posts. Comments are managed by administrator via Administration Panels >> Manage >> Comments |
wp_linkcategories | The wp_linkcategories hold the information related to the links entered into the Links_Manager feature of WordPress. It has 13 columns. | Administration Panels >> Links >> Link Categories |
wp_links | The wp_links holds information related to the links entered into the Links_Manager feature of WordPress. It has 14 columns. | Administration Panels >> Links >> Manage Links Administration Panels >> Links >> Add Links Administration Panels >> Links >> Import Links |
wp_options | The Options set under the Administration > Options panel are stored in the wp_options table and it has 11 columns. | Administration Panels >> Options > > General Administration Panels >> Options > >Writing Administration Panels >> Options > >Reading Administration Panels >> Options > >Discussion Administration Panels >> Options > >Permalinks Administration Panels >> Options > >Miscellaneous |
wp_post2cat | Each post in the wp_posts table is associated with a category from the wp_categories table and this association is maintained in the wp_post2cat table and it has 3 columns. | Administration Panels >> Write >> Write Post Administration Panels >> Manage >> Posts >> Edit |
wp_postmeta | Each post features information called the meta data and it is stored in the wp_postmeta which has 4 columns. | |
wp_posts | The core of the WordPress data is the posts. It is stored in the wp_posts table which has 21 columns. | Administration Panels >> Write >> Write a Post |
wp_usermeta | Each user features information called the meta data and it is stored in wp_usermeta which has 4 columns. | |
wp_users | The list of users is maintained in table.wp_users, which has 22 columns. | Administration Panels >> Users |
The following are the specific fields in each of the tables created during the standard WordPress installation.
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
cat_ID | bigint(20) | PRI | NULL | auto_increment | |
cat_name | varchar(55) | ||||
category_nicename | varchar(200) | IND | |||
category_description | longtext | ||||
category_parent | bigint(20) | 0 | FK->wp_categories.cat_ID | ||
category_count | bigint(20) | 0 |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
comment_ID | bigint(20) unsigned | PRI | NULL | auto_increment | |
comment_post_ID | int(11) | 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 | 0000-00-00 00:00:00 | |||
comment_content | text | ||||
comment_karma | int(11) | 0 | |||
comment_approved | enum('0','1','spam') | IND | 1 | ||
comment_agent | varchar(255) | ||||
comment_type | varchar(20) | ||||
comment_parent | bigint(20) | 0 | FK->wp_comment.ID | ||
user_id | bigint(20) | 0 | FK->wp_users.ID |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
cat_id | bigint(20) | PRI | NULL | auto_increment | |
cat_name | tinytext | ||||
auto_toggle | enum('Y','N') | N | |||
show_images | enum('Y','N') | Y | |||
show_description | enum('Y','N') | N | |||
show_rating | enum('Y','N') | Y | |||
show_updated | enum('Y','N') | Y | |||
sort_order | varchar(64) | rand | |||
sort_desc | enum('Y','N') | N | |||
text_before_link | varchar(128) | <li> | |||
text_after_link | varchar(128) | <br /> | |||
text_after_all | varchar(128) | </li> | |||
list_limit | int(11) | -1 |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
link_id | bigint(20) | PRI | NULL | auto_increment | |
link_url | varchar(255) | ||||
link_name | varchar(255) | ||||
link_image | varchar(255) | ||||
link_target | varchar(25) | ||||
link_category | bigint(20) | IND | 0 | FK->wp_linkcategories.cat_id | |
link_description | varchar(255) | ||||
link_visible | enum('Y','N') | IND | Y | ||
link_owner | int(11) | 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) |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
option_id | bigint(20) | PRI | NULL | auto_increment | |
blog_id | int(11) | PRI | 0 | ||
option_name | varchar(64) | PRI&IND | |||
option_can_override | enum('Y','N') | Y | |||
option_type | int(11) | 1 | |||
option_value | longtext | ||||
option_width | int(11) | 20 | |||
option_height | int(11) | 8 | |||
option_description | tinytext | ||||
option_admin_level | int(11) | 1 | |||
autoload | enum('yes','no') | yes |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
rel_id | bigint(20) | PRI | NULL | auto_increment | |
post_id | bigint(20) | IND Pt1 | 0 | FK->wp_posts.ID | |
category_id | bigint(20) | IND Pt2 | 0 | FK->wp_categories.cat_ID |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
meta_id | bigint(20) | PRI | NULL | auto_increment | |
post_id | bigint(20) | IND | 0 | FK->wp_posts.ID | |
meta_key | varchar(255) | YES | IND | NULL | |
meta_value | longtext | YES | NULL |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
ID | bigint(20) unsigned | PRI | NULL | auto_increment | |
post_author | bigint(20) | 0 | FK->wp_users.ID | ||
post_date | datetime | 0000-00-00 00:00:00 | |||
post_date_gmt | datetime | 0000-00-00 00:00:00 | |||
post_content | longtext | ||||
post_title | text | ||||
post_category | int(4) | 0 | FK->wp_categories.cat_ID | ||
post_excerpt | text | ||||
post_status | enum('publish','draft','private','static','object', 'attachment') | IND | publish | ||
comment_status | enum('open','closed','registered_only') | open | |||
ping_status | enum('open','closed') | 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) | 0 | FK->wp_posts.ID | ||
guid | varchar(255) | ||||
menu_order | int(11) | 0 | |||
post_type | varchar(100) | ||||
post_mime_type | varchar(100) | ||||
comment_count | bigint(20) | 0 |
(Added to WP 2.0)
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
umeta_id | bigint(20) | PRI | NULL | auto_increment | |
user_id | bigint(20) | '0' | FK->wp_users.ID | ||
meta_key | varchar(255) | IND | NULL | ||
meta_value | longtext | IND | NULL |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
ID | bigint(20) unsigned | PRI | NULL | auto_increment | |
user_login | varchar(60) | UNI & IND | |||
user_pass | varchar(64) | ||||
user_nicename | varchar(50) | ||||
user_email | varchar(100) | ||||
user_url | varchar(100) | ||||
user_registered | datetime | 0000-00-00 00:00:00 | |||
user_level | int(2) unsigned | 0 | |||
user_activation_key | varchar(60) | ||||
user_status | int(11) | 0 | |||
display_name | varchar(250) |