• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「データベース構造」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(【WP2.5 最終版】(編集不可) 節名(Indexes)翻訳とレベル下げ、user2テーブル説明追加ほか。改名テンプレに差替、リンクテキストを一旦「~概要」に戻しました(ノート参照))
(2.6: revision 関係の説明を追加)
2行目: 2行目:
  
 
__TOC__
 
__TOC__
以下は、[[:Category:wp2.5|WordPress バージョン '''2.5''']] の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.5 が対応しているデータベースは、[[用語集#MySQL|MySQL]] バージョン '''4.0 以上'''のみです。
+
以下は、[[:Category:wp2.5|WordPress バージョン '''2.6''']] の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.6 が対応しているデータベースは、[[用語集#MySQL|MySQL]] バージョン '''4.0 以上'''のみです。
  
WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしながら、[[プラグインの作成|プラグインを作る]]ならば、データベースと直接連結する方法に興味を持つことでしょう。WordPress は[[関数リファレンス/wpdb_Class|wpdb_Class]]/[[:en:Function Reference/wpdb_Class|en]] 関数を提供して、この作業が簡単になるようにしています。
+
WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしながら、[[プラグインの作成|プラグインを作る]]ならば、データベースと直接連結する方法に興味を持つことでしょう。WordPress は [[関数リファレンス/wpdb_Class|wpdb_Class]]/[[:en:Function Reference/wpdb_Class|en]] 関数を提供して、この作業が簡単になるようにしています。
  
 
注:
 
注:
19行目: 19行目:
 
{| table border=1
 
{| table border=1
 
|- valign="top"
 
|- valign="top"
! colspan="3" bordercolor="#FFFFFF" | WordPress 2.5 テーブル (10)
+
! colspan="3" bordercolor="#FFFFFF" | WordPress 2.6 テーブル (10)
 
|- valign="top"
 
|- valign="top"
 
! テーブル名 !! 説明 !! 関連インタフェース画面
 
! テーブル名 !! 説明 !! 関連インタフェース画面
275行目: 275行目:
 
* <code>'pending'</code>: ペンディング
 
* <code>'pending'</code>: ペンディング
 
* <code>'draft'</code>: 草稿
 
* <code>'draft'</code>: 草稿
* <code>'private'</code>: プライベート
+
* <code>'private'</code>: プライベート(非公開)
 
* <code>'static'</code>:(2.0.x 以前は[[Pages|ページ]])
 
* <code>'static'</code>:(2.0.x 以前は[[Pages|ページ]])
 
* <code>'object'</code>:
 
* <code>'object'</code>:
 
* <code>'attachment'</code>:
 
* <code>'attachment'</code>:
* <code>'inherit'</code>: 添付ファイル
+
* <code>'inherit'</code>: 継承(添付ファイル、改訂履歴・自動保存のとき)
 
* <code>'future'</code>: 予約投稿
 
* <code>'future'</code>: 予約投稿
 
|-
 
|-
293行目: 293行目:
 
| post_password || varchar(20) || || || || || 閲覧パスワード
 
| post_password || varchar(20) || || || || || 閲覧パスワード
 
|-
 
|-
| post_name || varchar(200) || || IND || || || 投稿スラッグ
+
| post_name || varchar(200) || || IND || || ||  
 +
* 投稿スラッグ
 +
* <code>'{親ID}-revision(-#)'</code> (改訂履歴のとき)
 +
* <code>'{親ID}-autosave'</code> (自動保存のとき)
 
|-
 
|-
 
| to_ping || text || || || ||
 
| to_ping || text || || || ||
305行目: 308行目:
 
| post_content_filtered || text || || || ||  ||  
 
| post_content_filtered || text || || || ||  ||  
 
|-
 
|-
| post_parent || bigint(20) || || || 0 || FK-&gt;wp_posts.ID || 親ページの投稿ID、添付ファイルが属する投稿ID
+
| post_parent || bigint(20) || || || 0 || FK-&gt;wp_posts.ID || 親ID
 +
* 親[[Pages|ページ]]の投稿ID
 +
* 添付ファイルが属する投稿ID
 +
* 改訂履歴・自動保存のベース投稿ID
 
|-
 
|-
 
| guid || varchar(255) || || || ||
 
| guid || varchar(255) || || || ||
311行目: 317行目:
 
| menu_order || int(11) || || || 0 || || [[Pages|ページ]]の表示順
 
| menu_order || int(11) || || || 0 || || [[Pages|ページ]]の表示順
 
|-
 
|-
| post_type || varchar(20) || || IND Pt1 || post || || 種類
+
| post_type || varchar(20) || || IND Pt1 || post || || 投稿種別
* <code>'post'</code>: 記事
+
* <code>'post'</code>: 投稿
 
* <code>'page'</code>: [[Pages|ページ]]
 
* <code>'page'</code>: [[Pages|ページ]]
 
* <code>'attachment'</code>: 添付ファイル
 
* <code>'attachment'</code>: 添付ファイル
 +
* <code>'revision'</code>: 改訂履歴・自動保存
 
|-
 
|-
 
| post_mime_type || varchar(100) || || || || || 添付ファイルのとき MIMEタイプ(<code>image/png</code> など)
 
| post_mime_type || varchar(100) || || || || || 添付ファイルのとき MIMEタイプ(<code>image/png</code> など)
491行目: 498行目:
 
== 変更履歴 ==
 
== 変更履歴 ==
  
 +
* [[Version 2.6|2.6]] : 投稿の改訂履歴データを持つようになりました。
 
* [[Version 2.5|2.5]] :  
 
* [[Version 2.5|2.5]] :  
 
** 全ての <code>enum</code> タイプのフィールドが <code>varchar(20)</code> に変更されました。
 
** 全ての <code>enum</code> タイプのフィールドが <code>varchar(20)</code> に変更されました。
520行目: 528行目:
 
[[Category:wp2.3]]
 
[[Category:wp2.3]]
 
[[Category:wp2.5]]
 
[[Category:wp2.5]]
 +
[[Category:wp2.6]]
  
 
[[en:Database Description]]
 
[[en:Database Description]]

2008年11月26日 (水) 05:47時点における版

ページ名検討中: このページ名「データベース構造」について改名が提案されています。ご意見をお寄せください。(2008-11-14)

以下は、WordPress バージョン 2.6 の標準的なインストールで作成されるデータベース・テーブルの概要と説明です。現在、WordPress バージョン 2.6 が対応しているデータベースは、MySQL バージョン 4.0 以上のみです。

WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしながら、プラグインを作るならば、データベースと直接連結する方法に興味を持つことでしょう。WordPress は wpdb_Class/en 関数を提供して、この作業が簡単になるようにしています。

注:

  • テーブル名の接頭辞(wp_)は、WordPress インストール時の設定によります。
  • プラグインやテーマによって、設定データの追加、既存テーブルへのフィールド追加、新規テーブル作成がなされることがあります。
  • 旧バージョンのデータベース概要

テーブル一覧

WordPress の標準インストールで作成される全テーブルの一覧です。各テーブルが持つ具体的な情報は次節をご覧ください。

WordPress 2.6 テーブル (10)
テーブル名 説明 関連インタフェース画面
wp_comments WordPress へのコメント・トラックバック・ピンバックデータを格納 コメントは投稿記事への反応として読者によって作成される。管理者によるコメント管理は 管理パネル > コメント > コメント/en にて
wp_links リンク作成/en 機能で入力されたリンク情報を格納
wp_options 管理 > 設定 パネルで設定されたオプション設定情報を格納。プラグインの設定情報が格納されることも多い。
wp_postmeta メタデータという各投稿記事特有の情報を格納。投稿に情報を付加するようなプラグインが、その情報を当テーブルに追加することがある。

(カスタムフィールド)

wp_posts WordPress データの核である投稿記事およびページデータを格納
wp_terms 投稿およびリンクの分類(カテゴリ・タグ)に使われる語句の基本情報を格納
wp_term_relationships オブジェクト(wp_posts テーブルの各投稿記事wp_links テーブル内の各リンク)と wp_term_taxonomy の(少なくとも 1)カテゴリ・タグとの関連付け情報を格納
wp_term_taxonomy 投稿およびリンクの分類上の語句(カテゴリ・タグ)データを格納
wp_usermeta 各ユーザ特有のユーザ・メタデータを格納
wp_users 登録ユーザ情報を格納

テーブル詳細

WordPress の標準インストールで作成される各テーブルの項目一覧です。

テーブル: wp_comments

フィールド タイプ Null キー 初期値 備考 説明
comment_ID bigint(20) unsigned PRI NULL auto_increment コメントID(投稿順に自動採番)
comment_post_ID int(11) IND 0 FK->wp_posts.ID コメントが属する投稿ID
comment_author tinytext コメント投稿者
comment_author_email varchar(100) コメント投稿者の Eメールアドレス
comment_author_url varchar(200) コメント投稿者のウェブサイトURL
comment_author_IP varchar(100) コメント投稿者の IPアドレス
comment_date datetime 0000-00-00 00:00:00 コメント投稿日時
comment_date_gmt datetime IND & IND Pt2 0000-00-00 00:00:00 コメント投稿日時(GMT)
comment_content text コメント内容
comment_karma int(11) 0
comment_approved varchar(20) IND & Ind Pt1 1 コメントの承認状態
  • '0': 承認待ち
  • '1': 承認済み
  • 'spam': スパム
comment_agent varchar(255) コメント投稿者のユーザエージェント
comment_type varchar(20) コメントの種類
  • 'trackback': トラックバック
  • 'pingback': ピンバック
  • 通常コメントは値なし
comment_parent bigint(20) 0 FK->wp_comment.ID
user_id bigint(20) 0 FK->wp_users.ID コメント投稿者が登録ユーザであるとき、そのユーザID

インデックス

キー名 種別 Cardinality フィールド
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
フィールド タイプ Null キー 初期値 備考 説明
link_id bigint(20) PRI NULL auto_increment リンクID(登録順に自動採番)
link_url varchar(255) リンク URL
link_name varchar(255) リンク名
link_image varchar(255) リンク画像の URI
link_target varchar(25) リンクターゲット
link_category bigint(20) IND 0
link_description varchar(255) 説明
link_visible varchar(20) IND Y
  • 'Y': 表示する
  • 'N': 表示しない
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) リンクのフィード URI

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 7 link_ID
link_category INDEX None link_category
link_visible INDEX None link_visible

テーブル: wp_options

フィールド タイプ Null キー 初期値 備考 説明
option_id bigint(20) 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
  • 'yes':
  • 'no':

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 90 option_id
blog_id
option_name
option_name INDEX None option_name

テーブル: wp_postmeta

フィールド タイプ Null キー 初期値 備考 説明
meta_id bigint(20) PRI NULL auto_increment メタデータのユニークID
post_id bigint(20) IND 0 FK->wp_posts.ID 投稿記事ID
meta_key varchar(255) YES IND NULL カスタムフィールドのキー名
meta_value longtext YES NULL カスタムフィールドの値

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 0 meta_ID
post_id INDEX None post_id
meta_key INDEX None meta_key

テーブル: wp_posts

フィールド タイプ Null キー 初期値 備考 説明
ID bigint(20) unsigned PRI & IND Pt4 auto_increment 投稿ID(保存順に自動採番)
post_author bigint(20) 0 FK->wp_users.ID 投稿者のユーザID
post_date datetime IND Pt3 0000-00-00 00:00:00 投稿日時
post_date_gmt datetime 0000-00-00 00:00:00 投稿日時(GMT)
post_content longtext 本文
post_title text タイトル
post_category int(4) 0
post_excerpt text 抜粋オプション
post_status varchar(20) IND PT2 publish 投稿ステータス
  • 'publish': 公開済み
  • 'pending': ペンディング
  • 'draft': 草稿
  • 'private': プライベート(非公開)
  • 'static':(2.0.x 以前はページ
  • 'object':
  • 'attachment':
  • 'inherit': 継承(添付ファイル、改訂履歴・自動保存のとき)
  • 'future': 予約投稿
comment_status varchar(20) open コメントステータス
  • 'open': 許可
  • 'closed': 不許可
  • 'registered_only': 登録ユーザのみ
ping_status varchar(20) open ピン・ステータス
  • 'open': トラックバック・ピンバックを受け付ける
  • 'closed': 受け付けない
post_password varchar(20) 閲覧パスワード
post_name varchar(200) IND
  • 投稿スラッグ
  • '{親ID}-revision(-#)' (改訂履歴のとき)
  • '{親ID}-autosave' (自動保存のとき)
to_ping text
pinged text ピン通知済み URL
post_modified datetime 0000-00-00 00:00:00 更新日時
post_modified_gmt datetime 0000-00-00 00:00:00 更新日時(GMT)
post_content_filtered text
post_parent bigint(20) 0 FK->wp_posts.ID 親ID
  • ページの投稿ID
  • 添付ファイルが属する投稿ID
  • 改訂履歴・自動保存のベース投稿ID
guid varchar(255)
menu_order int(11) 0 ページの表示順
post_type varchar(20) IND Pt1 post 投稿種別
  • 'post': 投稿
  • 'page': ページ
  • 'attachment': 添付ファイル
  • 'revision': 改訂履歴・自動保存
post_mime_type varchar(100) 添付ファイルのとき MIMEタイプ(image/png など)
comment_count bigint(20) 0 コメント数

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 ID
post_name INDEX None post_name
type_status_date INDEX None post_type
post_status
post_date
ID

テーブル: wp_terms

フィールド タイプ Null キー 初期値 備考 説明
term_id bigint(20) PRI auto_increment term のユニークID
name varchar(55) term 名
slug varchar(200) UNI term スラッグ。term 名を URL で扱いやすい形にしたもの
term_group bigint(10) 0 類義語のグルーピング

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 term_ID
slug UNIQUE 2 slug

テーブル: wp_term_relationships

フィールド タイプ Null キー 初期値 備考 説明
object_id bigint(20) PRI Pt1 0 記事ID or リンクID
term_taxonomy_id bigint(20) PRI Pt2 & IND 0 FK->wp_term_taxonomy.term_taxonomy_id term_taxonomy テーブルの term_taxonomy_id
term_order int(11) 0

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 8 object_id
term_taxonomy_id
term_taxonomy_id INDEX None term_taxonomy_id

テーブル: wp_term_taxonomy

フィールド タイプ Null キー 初期値 備考 説明
term_taxonomy_id bigint(20) PRI auto_increment term+taxonomy ペアのユニークID
term_id bigint(20) UNI Pt1 0 FK->wp_terms.term_id wp_terms テーブルの term_id
taxonomy varchar(32) UNI Pt2 term が属する taxonomy
  • 'category': 記事カテゴリ
  • 'link_category': リンクカテゴリ
  • 'post_tag': タグ
description longtext term の分類上の説明。「カテゴリ説明」など
parent bigint(20) 0 分類上の term 間の上下関係
count bigint(20) 0 term+taxonomy ペアに関連付けられたオブジェクト数。taxonomy='category' であればこのカテゴリに属する投稿記事数

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 2 term_taxonomy_id
term_id_taxonomy UNIQUE 2 term_id
taxonomy

テーブル: wp_usermeta

フィールド タイプ Null キー 初期値 備考 説明
umeta_id bigint(20) PRI NULL auto_increment ユーザ・メタデータの ID(登録順に自動採番)
user_id bigint(20) IND '0' FK->wp_users.ID wp_users テーブルのユーザID
meta_key varchar(255) YES IND NULL ユーザ・メタデータのキー名(wp_capabilities など)
meta_value longtext YES NULL

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 4 umeta_id
user_id INDEX None user_id
meta_key INDEX None meta_key

テーブル: wp_users

フィールド タイプ Null キー 初期値 備考 説明
ID bigint(20) unsigned PRI NULL auto_increment ユーザID
user_login varchar(60) IND ログイン名
user_pass varchar(64) パスワード(暗号化)
user_nicename varchar(50) IND
user_email varchar(100) Eメールアドレス
user_url varchar(100) webサイト URI
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) 表示名

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 1 ID
user_login_key INDEX None user_login
user_nicename INDEX None user_nicename

旧バージョンのデータベース概要

変更履歴

  • 2.6 : 投稿の改訂履歴データを持つようになりました。
  • 2.5 :
    • 全ての enum タイプのフィールドが varchar(20) に変更されました。
      • comments テーブル: comment_approved フィールド
      • links テーブル: link_visible フィールド
      • options テーブル: autoload フィールド
      • posts テーブル: post_statuscomment_statusping_status フィールド
    • comments テーブルに KEY が追加されました。(comment_approved_date_gmtcomment_date_gmt
    • term_relationships テーブルに term_order フィールドが追加されました。
    • 参考: プラグインとテーマの移行 - 2.3 から 2.5 への移行 - データベースの変更
  • 2.3 :
    • categorieslink2catpost2cat テーブル廃止、termsterm_taxonomyterm_relationships テーブル追加。
    • options テーブルより 6フィールド削除。
    • posts テーブルの post_status フィールドに新規ステータス 'pending' を追加。
    • 参考: プラグインとテーマの移行 - 2.2 から 2.3 への移行
  • 2.1 :
    • linkcategories テーブル廃止。リンクカテゴリデータを categories テーブルにマージ、ID付け替え。
    • posts テーブルに post_type フィールドを追加。記事/ページを判別。2.0.x では、「ページ」=post_status フィールドが 'static'
    • posts テーブルの post_status フィールドに、予約投稿(未来日投稿)を示す 'future' を追加。2.0.x では NOW() を使用。
    • 参考: プラグインとテーマの 2.1 への移行 - コア WordPress DB の変更点

最新英語版: WordPress Codex » Database Description最新版との差分