phpMyAdminでWordPressのブログ記事データをcsv出力してみよう(データベース操作)

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

ども、Qtaro(@Daisuke_9taro)です。

今日はちょっとマニアックなネタです
(じゃぁなぜソレを記事にするとかはナシで。。)

タイトルの通りなんですが、WordPressの全記事データを何らかの理由で必要なデータのみCSVで抽出して、一覧で見たい!もしくはデータを抽出して書類を作成したい!なんてときに使える方法を説明します。

僕は割と良く使うんですが、WordPressを普通に使う分にはそんな意識しなくていいデータベースを直接操作しにいくので、慣れない方はちょっと抵抗あるかもしれません。
ですが、実際は数分の画面操作で完結するのでそんな難しくないです。

どんなことするかというと。。
WordPressの標準機能でついているエクスポート機能で出てくるこんなものじゃなくて。。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

こんな感じのもの作るのがゴールです♪

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

気になる方は続きをどうぞ♪

タイトルにも書きましたがこの操作はブログのデータベースを直接操作しにいきます。「phpMyAdmin」や「データベース操作」と言われて「??」となる方はブログの大事なデータを誤って削除してしまう可能性があるので、作業はご遠慮いただくか、必ずバックアップを取った上で実施ください。

スポンサーリンク

phpMyAdminからwp_postsテーブルを操作

書き起こすと複雑そうですが、やってることは

「CSVで出力したい項目(条件)を指定して、出力」

するだけ。
まずはレンタルサーバー会社毎の管理画面等からWordPressで利用しているデータベースを操作しにいくためにphpMyAdminにログインします。
(不慣れな方が誤った操作をしないために、敢えてログイン手順の説明は省きます。。)

運営しているブログで使用しているデータベース(DB)を選択し、次に「wp_posts」を選択。これは記事データが格納されているテーブル(データが格納されているトコ)です。

そして更に「検索」をクリック。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

抽出したい項目(フィールド)を選択

すると検索条件指定画面になります。
下記の例は公開済みの全記事の「公開日」「記事タイトル」「抜粋文」のデータを取得するための条件設定になります。

項目を増やしたり、入れ替えたりはもちろん可能なので、欲しい情報が別にある方はそのフィールドを選択するようにしていください。

図では「post_date_gmt」というのを選択してますが、これは選択しなくて良いです。(定義書見てないので何の日時か分かりませんw)

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

不要なデータは「ハジく」ように条件指定

更に下の方の条件を以下のように2カ所、指定することをオススメします。

post_statusは記事の「公開」「非公開」を格納しているフィールドで、「publish」を指定することで「公開済み」のもののみ抽出するための記述

post_typeはその記事が実際使われてるものなのか、リビジョンデータなのかを値として格納しているフィールドです。リビジョンも取得すると同じタイトルの記事がいくつも取得されてしまうのでここはリビジョンデータを抜かすために「post」を指定します。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

条件指定が終わったら、検索実行!!

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

記事量にもよりますが、数秒すると条件指定した結果(CSVで出力する対象データ)が表示されます。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

CSV出力実施

確認し、問題なければ画面下の「エクスポート」を押します。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

するとファイル出力の設定画面に移るので、「CSV」を選択。
あと僕は特に変えませんが、どういったCSVデータにしたいか細かい要望があれば、右側の部分をお好みでどうぞ♪

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

CSVの出力設定も終わったら、実行!!
エクスポートが開始されます(これも数秒)

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

出力されたCSVをエディタ等で保存

で、結果が出力されました!!
どのphpMyAdminのバージョンでもこういう形で出力されるかは分からないのですが、僕の場合はファイルで作成されるのではなく、phpMyAdminのテキストエリア内に出力されました。

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

あとはもう好きなエディタなり、エクセルなりにCSV形式で保存するだけです。
簡単ですね!

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

はい、こんな感じで作業は完了です!!

まぁこんな使い方も。。w

。。で

僕は「紙」が好きなので、プリントアウトしちゃったりします(え
システム触ってると紙の偉大さに気付くんですよねぇ。。

これは余興です、どうぞ気にせずw

WordPressのブログ全記事から必要なデータのみphpMyAdminでcsv出力する方法メモ(データベース操作)

まとめ:慣れるとデータベース操作も便利。この機会にゼヒ♪

という訳で、データベースを操作して、記事データの欲しい情報のみをCSVで抜き取る方法を説明させていただきました。

なんで、これを書こうかと思ったかというと、このブログも先月100記事を超え、そろそろ公開から時間が経ったネタもでてきたなーというところで、その100数記事をバーッと!!一目で見れて確認できる状態にしたかったんですよね。ただそれだけですw

あ、あとは一回調査したテーブル定義を覚えておける気がしないから書き残しておきたいってのもありますw

このくらいのデータベース操作を覚えておくと、ブログ内の欲しいデータはサクッとドキュメント化できますし、SQL(エスキューエル:データベースを操作するための言語)と言われても「?」になる方でも、phpMyAdminなら比較的直感的に操作できるので便利だと思いますよ。

冒頭でも書きましたが、くれぐれもバックアップを実施した上で、細心の注意を払って実施の程よろしくお願いします。

今回の記事は以上です。
本日もroom9にお越し頂きありがとうございました。

それでは良きデータベース操作ライフを〜♪♪