テーブル作成 ─ Create Table

WordPressのデータベース内に新しいテーブルを作成するためのエントリーフォーム画面です。
必要な項目を入力して「テーブル作成」を実行することで独自テーブルをデータベースに追加できます。この管理画面は大きく3つのセクションに分かれています。

Table setting for a database

テーブル管理 - テーブル作成(1)

このセクションでは、作成するテーブルを設計します。このセクションで設定した内容に準じてテーブルが作成されます。
各項目の設定内容は下記の通りです。

項目名 設定内容
テーブル名 WordPressのデータベース(MySQL)に新規作成されるテーブルの名前です。データベース内で一意の名前にしなければならず、日本語等のマルチバイト文字は利用できません。64文字以下の半角英数字と/.等のファイル名として使用可能な記号が利用できます。ただし、データベースであるMySQLがシステムとして予約しているフレーズは利用できません(予約語の詳しい説明はこちらを参照してください)。また、WordPressインストール時に初期テーブルとして作成されるコアテーブルの名前(例えばwp_postswp_user等)も利用できません。
一般的にはテーブルの利用用途がわかるような名前を付けます。例えば製品を管理するために製品情報を格納するテーブルであれば、productsという名前が良いでしょう。
なお、テーブル名には接頭辞という識別名を付けることができます。接頭辞とは、テーブル名の先頭にpf_のように付けられる文字のことです。接頭辞はシステム的に必要なものではなく、利用するアプリケーションや開発者などがテーブルを識別しやすくするためのものです。「WordPressの設定(wp-config.php)で定義されているテーブル接頭辞を使う。」の設定が有効になっていると、入力したテーブル名に、自動で利用中のWordPressのコンフィグファイルにて定義されている接頭辞(デフォルトではwp_です)が付与されます。先のテーブル名の例であれば、productsの先頭にwp_のような接頭辞がつけられ、最終的に作成されるテーブル名はwp_productsとなります。テーブル接頭辞を付けない場合はチェックを外してください。
現在命名中のテーブル名は「設定名ライブプレビュー:」の欄にリアルタイムでプレビューされるので、そこでテーブル名を確認しながら命名すると良いでしょう。
テーブルコメント テーブルコメントは必須な設定ではありませんが、設定しておくとテーブルを管理する時に利便性が向上します。テーブルコメントは特にMySQLのシステムとして利用されることは少ないため、便宜的にテーブル作成時の作成者のメモやテーブルの利用用途の簡単な説明欄として利用されています。CDBTプラグインでは、このテーブルコメント欄の文字をそのテーブルの論理名として、システム側ではなくユーザー側が識別しやすいような名前を設定する項目として取り扱っています。日本語等のマルチバイト文字も利用できるため、例えば物理名となる前述のテーブル名がproductsだった場合、テーブルコメントに「製品管理」と設定しておくことで、テーブル一覧などの画面でテーブル名表記のサブタイトル的に表示されるようなります。
テーブルの文字コード テーブルに格納されるデータの文字エンコードです。テーブルの利用シーンに応じて適宜指定してください。
データベースエンジン 作成するテーブルにどのようにデータを格納し、どう取り扱うかという処理方式である「ストレージエンジン」の設定になります。CDBTプラグインではMySQLでサポートされているほぼすべてのストレージエンジンを選択することができますが、WordPressに対応していないストレージエンジンを指定した場合の動作保証はしていません。特段、気にすることなくデフォルト値である「InnoDB」を選択しておくことを推奨します。
なお、WordPressのデータベースとして選択の候補となるのは「InnoDB」と「MyISAM」の二つです。
ストレージエンジンについての詳しい説明はこちらを参照してください。
自動追加カラム CDBTプラグインでは作成するテーブルの走査性と保守性を確保するために、デフォルトで「ID」「created」「updated」の3つのカラムを追加します。不要であればチェックを外してください。
テーブル作成SQL このテキストエリアにはテーブル作成用のSQLが生成されます。もし既にテーブル作成用のSQLが準備できている場合は、ここに入力することも可能です。前述の項目からSQLを生成する場合は右上の「設定値からSQL作成」ボタンを押してください。また、後述する「テーブルクリエイター」で作成したSQLもこのテキストエリアに生成されます。

Table Creator

テーブルクリエイターは、新しく作るテーブルのカラム設計を直観的に行えるツールです。「データベース用テーブル設定」セクションの「テーブル作成SQL」欄の「テーブルクリエイター」タブをクリックすると起動します。

テーブル管理 - テーブル作成 - テーブル・クリエイター

テーブルクリエイターでは、テーブルのカラム定義となる行を追加して、そのカラム定義行に必要な設定を入力していきます。基本的にカラム名を入力してフォーマットを選択することで、そのカラムに設定可能な定義項目が自動で表示されます。カラムの順序は行をドラッグ&ドロップすることで変更可能です。

テーブルクリエイターの各設定項目(列)について

カラム名(物理名) ─ Column Name
作成するテーブルのフィールドの物理名のことです。日本語のようなマルチバイト文字は利用できません。半角英数字記号で入力してください。テーブル名と異なり、/.も使えます。なお、カラム名はそのテーブル内において一意である必要があり、テーブル名のように指定できない予約語はありません。
フォーマット ─ Type Format
そのフィールド(カラム)に格納されるデータ型の指定です。整数値のみを格納するカラムであればint型、文字列を格納するのであればvarcher型、バイナリデータを格納するのであればblob型など、用途に応じて指定してください。MySQLのデータ型についてはこちらを参照してください。
テーブルクリエイターではこのフォーマットを選択すると、選択されたデータ型に応じて必要な設定項目が切り替わるようになっています。
サイズ/定義値 ─ Sizing/Define Values
そのフィールド(カラム)の最大文字数や表示桁数の指定です。選択されたフォーマットによって指定の内容が異なり、指定できる値の範囲も様々に変化します。基本的にはデータ型を選んだ時に設定されるデフォルト値のままで問題ありませんが、varcharcharはデフォルト値がなく入力が求められるので1~255にて指定してください。また、浮動小数点型であるfloatdecimalでは総表示桁数と小数点以下の桁数をカンマ区切りで入力します。さらに、定義配列型のenumsetといった型の場合は、「初期値を編集する」ボタンが表示されるので、初期値設定用のピルボックスから初期値候補を入力してください(入力後「値をセットする」を押して保存するのを忘れないでください)。
空不可 ─ Not Null
データ登録時、そのフィールド(カラム)への入力が必須である場合はチェックを入れてください。この指定が有効になっているフィールドは、「データ登録」時の入力フォームにて入力が必須となります(非表示化しない場合)。
初期値 ─ Default Value
データ登録時にそのフィールド(カラム)へデータが入力されなかった場合に代わりに代入される値を指定します。
属性 ─ Attributes
そのフィールド(カラム)のデータ属性です。intfloatなどの数値型にのみ指定できるUNSIGNEDは、指定すると負の数値を無効化して、その分のレンジを正の数値に追加します。ZEROFILLも数値型にのみ指定でき、最大桁数に達しない数値の左側を0で埋めます。BINARYASCIIUNICODEといった属性は数値型ではない文字列型のカラムに指定できます。
自動採番 ─ Auto Incr.
この指定はオートインクリメント(Auto Increment)と呼ばれていて、これが指定されているカラムへはユーザーが任意にデータを登録することが出来ず、データが登録された順に連続した数値が自動で代入されます。この指定を行うフィールド(カラム)はint型などの整数型である必要があります。主にプライマリーキーのフィールド(カラム)に設定され、テーブル内のデータ(行)の整理番号としてデータの走査性を高めます。この自動採番型のプライマリーキーは別名サロゲート・キー(代理キー)とも呼ばれます。なお、1つのテーブルにこの自動採番型フィールドは1つしか設定できません。
キー/インデックス ─ Key/Index
そのフィールド(カラム)に対してキーもしくはインデックスを設定します。テーブルクリエイターではプライマリーキー(PRIMARY KEY)のフィールドは1つしか設定できないため、ユーザーが追加したフィールド(カラム)にプライマリーキーを設定した場合、自動追加される「ID」カラムは無効になります。また、データベースエンジンにInnoDBを指定したテーブルにおいてはFULLTEXTインデックスは指定できません(このインデックスはMyISAM専用です)。なお、外部キーであるFOREIGN KEYインデックスを指定するためには、リレーションするテーブル側にて、対象となるカラムにあらかじめインデックスを貼っておく必要があります。
その他の拡張定義 ─ Extra
timestamp型のフィールド(カラム)にて指定できます。データ更新日時を自動で更新するCURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPなどの指定が可能です。
コメント ─ Comment
そのフィールド(カラム)のコメントです。CDBTプラグインでは、このコメントをカラムの論理名として利用し、ダッシュボードやデータ一覧などでのインデックス名として表示されます。日本語のようなマルチバイト文字も利用可能です。

テーブルクリエイターの操作系ボタン

ボタン 動作内容
新規カラム(行)を追加します。このボタンのある行はSQLとして出力されません。
カラム(行)を削除します。
Close
テーブルクリエイターのウィンドウを閉じます。保存されれていないカラム定義内容は失われてしまいますので注意してください。閉じる前に必ず「SQLを適用する」ボタンを押してカラム定義内容を保存してください。
Reset
現在のカラムの定義内容を破棄してテーブルクリエイターを初期状態に戻します。保存されているカラム定義内容は破棄されないので、一度ウィンドウを閉じて再度テーブルクリエイターを起動すれば前回の保存内容が再び表示されます。
Apply SQL
現在のカラムの定義内容を保存して、SQLを生成します。テーブルクリエイターのウィンドウが閉じられ、「データベース用テーブル設定」セクションの「テーブル作成SQL」欄に生成されたSQLが表示されます。再度テーブルクリエイターを起動することで再編集が可能です。

Table setting for the plugin

テーブル管理 - テーブル作成(2)

このセクションでは、新規作成されるテーブルのプラグイン用の設定を行います。プラグイン側からテーブルを操作する際の制御用の設定となります。
各項目の設定内容は下記の通りです。

項目名 設定内容
最大表示データ数 1以上の数値で指定します。この設定値はテーブル内データ一覧を表示する時の初期値になります。この設定の影響範囲は、テーブル管理内の「データ閲覧」「データ編集」と、ショートコードによって出力される「データ一覧」「データ編集」のリストになります。デフォルト値はWordPressの「表示設定」の「1ページに表示する最大投稿数」で定義されている数値です。
サニタイズ バージョン2.0.7より追加されました。テーブルへ文字列型データを登録する際にHTMLタグの無害化を行います。デフォルトはONであり、バージョン2.0.6以前のバージョンはシステム内部的にONになっています。OFFにすることで登録データからのHTMLタグ除去処理を行わなくなります。なお、WordPressコアテーブルについてはシステム内部的に固定でOFFとなっています。有効にしている場合、cdbt_sanitize_data_allow_tagsフィルターを利用して除去対象のタグを変更できます。
データ閲覧を許可するユーザー テーブル管理内やショートコードで出力されるテーブルデータの一覧画面にアクセスできるWordPressのユーザーロールを設定できます。デフォルトは「guest」に設定されており、WordPressにログインしているか否かに関わらず、すべての訪問者に対してコンテンツが表示されます。データの検索も可能です。
データ登録を許可するユーザー テーブル管理内やショートコードで出力されるデータ入力フォーム画面にアクセスできるWordPressのユーザーロールを設定できます。デフォルトは「contributor」に設定されおり、貢献者以上のロールに所属していないユーザーはWordPressにログインしても、このテーブルに対してデータを登録することはできません。
データ編集を許可するユーザー テーブル管理内やショートコードで出力されるデータ編集画面にアクセスできるWordPressのユーザーロールを設定できます。デフォルトは「editor」に設定されおり、編集者以上のロールに所属していないユーザーはWordPressにログインしても、このテーブルに対してデータ編集を行うことはできません。
あなたが定義した独自のユーザーロールを指定したり、複数のロールを指定することも可能です。その場合は、カンマ区切りでロール名をコンボボックスに入力してください。

テーブル作成ボタン

ボタン 動作内容
Create Table
入力された設定内容でテーブルを作成します。
テーブル作成に失敗する場合、プラグイン設定で「デバッグモード」をONにすることで、発行されたSQLのCREATE TABLE文の間違った部分をエラーログで確認できるようになります。

Incorporate an existing table

テーブル管理 - テーブル作成(3)

このセクションでは、既にWordPressのデータベースに存在しているが、CDBTプラグインの管理下にないテーブルをプラグインで管理できるように取り込むことができます。取り込み可能なテーブルがデータベースに存在する場合には、セレクトボックスが表示されるので、取り込むテーブルを選択して「テーブル取り込み」を実行してください。

テーブル取り込みボタン

ボタン 動作内容
Incorporate Table
選択されたテーブルをプラグインの管理下に取り込みます。

Reference

Related Table Management

  • Table List現在プラグインで管理可能なテーブル一覧
  • Core Tablesプラグインで管理可能なWordPressのコアテーブルの一覧
  • Modify Table指定テーブルのスキームや属性の変更を行う
  • Operate Table指定のテーブルに対して各種操作を行います
  • Operate Data指定テーブルのデータの制御(閲覧・登録・編集・削除)を行う

Other Management

  • DashboardカスタムDBテーブル管理画面のトップページ
  • ShortcodesCDBTプラグインのショートコード管理セクション
  • Web APIsCDBTプラグインのWEB API管理セクション
  • Plugin OptionsCDBTプラグインの一般設定セクション

目次

About the Author

ka2

ka2

WEBフロントエンドエンジニア。元々コンシューマゲーム機のチェッカーで、ゲーム好き。WEB業界はWEBデザイナーとして出発し、いまではクラウド系インフラ構築から、アプリケーション開発までおよそWEB関連開発ならよろず屋的にこなしてます。最近は、AWS SDK for PHP v3を弄びつつ、CodeIgniterとd3.jsが気になる日々。
  • follow us in feedly