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

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

データベース構造

提供: WordPress Codex 日本語版
2010年2月18日 (木) 08:53時点におけるBono (トーク | 投稿記録)による版 (2.9 に更新(変更点は 変更履歴: を参照))

移動先: 案内検索

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

この項目「データベース構造」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

画像募集中 WordPress 5.3 のER図を作成できる人は、 ファイルをアップロードするか、提供できることをお知らせください

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

WordPress は内部でデータベースと連動しているため、エンドユーザはその構造を気にかける必要はありません。しかしプラグインを作成していると、データベースと直接連結する方法に興味がわいてくるかもしれません。WordPress ではこの処理が簡単にできるよう wpdb クラス関数を用意しています。

注:

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

データベース関連図

下図は、WordPress データベースの概要および標準インストール時に作成されるテーブル間の関係(WordPress 2.5 以降)を視覚的に表したものです。また、テーブル一覧以降では、テーブルおよびカラムの詳細を掲載しています。

WP2.9 データベース関連図(ER図) /英語版でWP2.7の画像を見る

標準インストールでテーブル間の整合性は強制されない事に注意してください(例: 投稿とコメント)。もし WordPress データベースを操作するプラグインやその他の拡張機能を作成する場合は、ハウスキーピング処理をコードに含め、孤立したレコードがテーブルに残らないようにしましょう。この一例として、外部キーが削除された場合、一連の SQL コマンドを使って他のテーブルのレコードを削除するといったことが挙げられます。また、このような操作を行う前には、ユーザーにバックアップを取るよう促すことも忘れないでください。

テーブル一覧

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

WordPress 2.9 テーブル (11)
テーブル名 説明 関連インタフェース画面
wp_commentmeta Each comment features information called the meta data and it is stored in the wp_commentmeta. Typically plugins would be add their own information to this table.
wp_comments WordPress へのコメント・トラックバック・ピンバックデータを格納 コメントは投稿記事への反応として読者によって作成される。管理者によるコメント管理は 管理パネル > コメント > コメント/en にて
wp_links リンク作成機能で入力されたリンク情報を格納
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_commentmeta

フィールド タイプ Null キー 初期値 備考 説明
meta_id bigint(20) unsigned   PRI NULL auto_increment コメントメタID(登録順に自動採番)
comment_id bigint(20) unsigned   IND 0 FK->wp_comments.comment_id コメントID
meta_key varchar(255) YES IND NULL  
meta_value longtext YES   NULL  

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 0 meta_ID
comment_id INDEX none comment_id
meta_key INDEX none meta_key

テーブル: wp_comments

フィールド タイプ Null キー 初期値 備考 説明
comment_ID bigint(20) unsigned PRI NULL auto_increment コメントID(投稿順に自動採番)
comment_post_ID bigint(20) unsigned 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) unsigned 0 FK->wp_comments.ID
user_id bigint(20) unsigned 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) unsigned PRI NULL auto_increment リンクID(登録順に自動採番)
link_url varchar(255) リンク URL
link_name varchar(255) リンク名
link_image varchar(255) リンク画像の URI
link_target varchar(25) リンクターゲット
link_description varchar(255) 説明
link_visible varchar(20) IND Y
  • 'Y': 表示する
  • 'N': 表示しない
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) リンクのフィード 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) unsigned PRI Pt1 NULL auto_increment オプションID(登録順に自動採番)
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 184 option_id
blog_id
option_name
option_name UNIQUE 184 option_name

テーブル: wp_postmeta

フィールド タイプ Null キー 初期値 備考 説明
meta_id bigint(20) unsigned PRI NULL auto_increment メタID(一意)(登録順に自動採番)
post_id bigint(20) unsigned IND 0 FK->wp_posts.ID 投稿ID
meta_key varchar(255) YES IND NULL カスタムフィールドのキー名
meta_value longtext YES NULL カスタムフィールドの値

インデックス

キー名 種別 Cardinality フィールド
PRIMARY PRIMARY 13 meta_ID
post_id INDEX 15 post_id
meta_key INDEX 7 meta_key

テーブル: wp_posts

フィールド タイプ Null キー 初期値 備考 説明
ID bigint(20) unsigned PRI & IND Pt4 auto_increment 投稿ID(保存順に自動採番)
post_author bigint(20) unsigned 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_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) unsigned 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
post_parent INDEX None post_parent

テーブル: wp_terms

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

インデックス

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

テーブル: wp_term_relationships

フィールド タイプ Null キー 初期値 備考 説明
object_id bigint(20) unsigned PRI Pt1 0 記事ID or リンクID
term_taxonomy_id bigint(20) unsigned 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) unsigned PRI auto_increment term+taxonomy ペアのユニークID
term_id bigint(20) unsigned 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) unsigned 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
taxonomy INDEX None taxonomy

テーブル: wp_usermeta

フィールド タイプ Null キー 初期値 備考 説明
umeta_id bigint(20) unsigned PRI NULL auto_increment ユーザ・メタデータの ID(登録順に自動採番)
user_id bigint(20) unsigned 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 9 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

リソース

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

<-- 旧バージョンのページは、今のところ、英語版のように別ページは作成せず wikiの過去版を利用しています。編集する必要があるときは、そのバージョン用にサブページを作成した上で編集してください。 -->

変更履歴

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