WordPressサイトには、サーバーの管理画面からアクセスできる固有のデータベースがあり、サイトを運営していく中で、操作が必要になることも。例えば、いつかMySQLでテーブルを削除しなくてはいけなくなるかもしれません。テーブルの削除方法はご存知でしょうか?

テーブルを削除するには、WordPressデータベースへのアクセス方法、各コンポーネントの機能を理解する必要があります。実際、ほとんどのサイトで似たようなテーブルが使用されているため、そこまで難易度は高くありません。

この記事では、MySQLでテーブルを削除する理由、削除が必要な状況について触れた後、MySQLでテーブルを削除する方法をご紹介します。

MySQLでのテーブル削除方法について動画での解説もご用意しています。

.

MySQLの「テーブルの削除」とは

MySQLの「テーブルの削除」とは、データベース内のテーブルを削除するSQLコマンド。テーブルを削除すると、そのテーブルのすべての行がデータベースから消去されます。

Dropping a table in MySQL
MySQLを使ったテーブルの削除

データベースのテーブルを削除することが、危険な操作であることは、開発者の間では周知の事実です。WordPressで構築された動的なウェブサイトでは、誤ったテーブルを削除してしまうと、サイト全体が壊れてしまうことがあります。

WordPressでは、ユーザーに配信するデータを引き出すために、データベースに対してリクエストが行われます。誤って重要なテーブルを削除してしまうと、データベース(またはサイト)全体をバックアップから復元しなくてはなりません。

MySQLでテーブルを削除する理由

MySQLでテーブルの削除が必要になる場面はいくつか考えられます。例えば、WordPressサイトであれば、プラグインをアンインストールする場合。プラグインの中には、削除した後もデータベーステーブルが残るものがあり、中身は往々にして不要なデータです。

ちなみになぜデータベースが残るのかですが、再インストール時に設定内容をもう一度利用できるようになっています。これとは別に、不適切なコーディングが原因でテーブルが残ってしまうプラグインもあります。

無駄なテーブルは、ストレージ容量を消費するだけでなく、サイト内のリクエスト処理速度を低下させ、他のプラグインとの互換性の問題を引き起こす可能性があります。

サーバーの性能が低い場合を除き、実際にはデータベースの肥大化にすぐに気づくことはないでしょう。とは言え、WordPressサイト内の使用していないデータを整理することは、非常に大切です。

WP-Optimizeなどのプラグインを使用すれば、データベース最適化は簡単です。

WP Optimize plugin
WP-Optimize

WP-Optimizeは、データベース内に残された不要なテーブルや、重複したエントリを見つけて削除してくれるため、サイトの高速化が期待できます。

しかし、特に共有サーバーを使用している場合は、MySQLを使用してテーブルを削除してしまう方が賢明です。Kinstaのようなマネージドホスティングを利用している場合は、データベースのメンテナンスについて心配する必要はありませんが、データベースで使っていないテーブルを削除する方法を知っておけば、サイトの技術的な問題のトラブルシューティングをする際に有用です。

MySQLでテーブルを削除する前に行うべきこと

MySQLのテーブル削除は、サイトに大きな影響を与える可能性があります。重要なデータが含まれている場合は、なおのことです。重要なデータが削除されてしまうと、サイトの一部が完全に機能しなくなり、さらにその過程で重要なユーザー情報も損失する可能性まであります。

データベーステーブルの削除を行う前には、データベース全体のバックアップを取ることをお勧めします。お使いのサーバーによっては、自動バックアップ機能が搭載されているかもしれません。Kinstaでは、毎日自動でサイトのバックアップが作成されます。

MyKinstaの自動バックアップ
MyKinstaの自動バックアップ

また、WordPressのサイトファイルとは別に、phpMyAdminなどからデータベースにアクセスし、サイトのデータベースをバックアップすることもできます。通常、サーバーの管理画面からphpMyAdminにアクセス可能です。

Kinstaを利用している場合は、MyKinstaにアクセスして、サイトの「情報」タブに進んでください。「データベースへのアクセス」セクションの「phpMyAdminを開く」をクリックします。

「phpMyAdminを開く」をクリック
「phpMyAdminを開く」をクリック

phpMyAdminにログインして、左のメニューからバックアップしたいデータベースを見つけます(WordPressサイトを1つしか運営していない場合は、データベースは1つしか表示されません)。

データベースを選択したら、ページの上部にある「Export」をクリックして、次の画面でエクスポート方法とファイル形式を選択します。データベースの完全なバックアップをSQL形式でダウンロードするには、「Export method:(エクスポート方法)」に「Quick」、「Format:(形式)」には「SQL」を選択してください。

Exporting tables
データベーステーブルをエクスポート

データベースのバックアップは、コンピュータに保存されます。MySQLでテーブルを削除した後に問題が発生し、データベースの復元が必要になる場合は、phpMyAdminを再度開いて、「Inport」に進みます。

次の画面で、SQL形式のデータベースファイルを選択します。パソコンにあるファイルを探して、「Go」をクリックしてアップロードします。

Click on Go to upload it
ファイルをアップロード

データベースファイルをインポートすると、データベース内の既存のテーブルが上書きされます。つまり、テーブルを削除する前の状態にデータベースが復元されます。

WordPressのバックアッププラグインの中には、データベースを別のファイルとしてバックアップすることができるものがあります。ただし、セキュリティの問題から、Kinstaと互換性がないものがありますので、その点にはご注意ください。

MySQLでテーブルを削除するには(2つの方法)

phpMyAdminを操作できる場合、MySQLでテーブルを削除する方法は2種類あります。以下、それぞれご説明していきます。

1. 単一のテーブルを削除

SQLコマンド、もしくはグラフィックインターフェースを使用してテーブルを削除する方法です。後者の場合、編集したいデータベースを選択します。テーブルの一覧は右側に表示されます。

テーブル一覧
テーブル一覧

テーブル名の左側にあるチェックボックスにチェックを入れて、テーブルを選択します。選択したら、画面下部のドロップダウンメニューで「Drop」をクリック。

Select and click on the Drop option
「Dropオプション」をクリック

なお、テーブルがウェブサイトによって異なることはお忘れなく。WordPressプラグインの多くは、データベースにテーブルを複数追加するため、何を削除するかをしっかり確認した上で実行してください。

SQLコマンドでテーブルを削除するには、画面上部の「SQL」タブをクリックします。SQLクエリを入力するフィールドに以下のクエリを貼り付けてください。

DROP TABLEtablename;

tablenameは、削除したいテーブル名に置き換えましょう。例えば、wp_users テーブルを削除する場合は、以下のようになります。

DROP TABLEwp_users;

正しいテーブル名を入力すると、そのテーブルの要素とそれに含まれるすべての行が削除されます。念のため、削除後はサイトが正常に動作しているのを確認しましょう。

2. 複数のテーブルを削除

複数のテーブルを削除する場合も、上記の方法とほとんど同じ手順になります。インターフェースから削除する場合は、phpMyAdminで複数のテーブルを選択した後、画面下部のメニューから「Drop」を選びます。

Choose the Drop option for multiple tables
複数テーブルを選択削除

SQLコマンドでテーブルを削除する場合は、同様に「SQL」に移動し、同じSQLクエリを使用します。唯一の違いは、複数のテーブル名をカンマで区切って記述する点です。

DROP TABLEtablename1, tablename2;

好きなだけテーブルを追加することができますが、テーブル名はそれぞれ必ず確認しましょう。準備ができたら「Go」をクリックして、クエリを実行します。

一度に複数のテーブルを削除するため、テーブルに重要なデータが含まれていないことは、慎重に確認してください。複数のテーブルを同時に削除するのは危険ですが、データベースの完全なバックアップがあれば簡単に復元できるため、万が一のことがあっても安心です。

テーブルから行を削除する方法

時には、テーブル全体ではなく、データベースから一行だけ削除したい場合もあるかもしれません。これを行うには、phpMyAdminを使ってデータベースにアクセスし、任意のテーブルをクリックします。

次の画面で、選択したテーブルの行がすべて表示されます。以下は、テストサイトのwp_usersテーブルです。

The wp-users table
wp-usersテーブル

ご覧の通り、テーブル内の行を編集(Edit)、コピー(Copy)、削除(Delete)することができます。行を削除するには、「Delete」をクリックすればOKです。

まとめ

MySQLのテーブル削除は簡単で、phpMyAdminを使って、削除したいテーブルを選択するだけ。SQLクエリを使って、複数のテーブルを一瞬で削除することもできます。コードを扱うのが苦手でも、テーブル削除のSQLコマンドは非常にわかりやすくなっています。

ただし、アンインストールしたプラグインのデータを削除する場合など、確実にそれが不要であることを確認した上で、テーブルを削除するようにしてください。

MyKinstaを使えば、WordPressデータベースに簡単にアクセスでき、サイト管理も容易になります。Kinstaの営業にご相談いただければ、あなたにぴったりのプランをご提案させていただきます。