ワードプレスのシステムにおけるMySQLとの関係性とは
公開日:2021.05.25 最終更新日:2023.11.14
この記事では、ワードプレスのシステムにおけるMySQLとの関係性を解説します。
MySQLやワードプレスのシステム、またその関係性についてよくわからないとお困りの事業者様は、ぜひご一読ください。
MySQLとは
「MySQL」とは、世界的にも多くの人や企業が使用しているデータベース管理システムです。また、レンタルサーバーや検索エンジンでも多く使われているシステムとなっています。データベースとは、様々な大量の情報を格納している、いわば「データの格納庫」のことを指します。「MySQL」の強みは、耐障害性が高く、大量のデータを高速に扱えることです。また、オープンソースのソフトウェアで、基本的に無料で使用できる・管理ツールが豊富である・Windows、 Mac、 Linuxなど複数のOSで利用できる・柔軟性と拡張性に優れている・操作が簡単であるなどのさまざまなメリットが挙げられます。
ワードプレスなどのCMSには、ほとんどデータベースが使われています。その中でも、とくに「MySQL」は大きな役割を果たしているのです。
ワードプレスには、「MySQL」というデータベースが使用されていて、これはワードプレスに欠かせないものとなっています。「MySQL」は、リレーショナルデータベースの一種です。リレーショナルデータベースとは、二次元のテーブル構造をしたデータベースで、列であるカラムと行であるレコードの2つから成り立っています。
データベースの「MySQL」は、ワードプレスと一緒にサーバーに導入される上に、データベースである「MySQL」の処理はワードプレス上で行われることが多いです。そのため、データベースの「MySQL」の存在がワードプレスを使用しているユーザーの目には直接届かないということが多くなります。
そのため、ワードプレスにアクセスできなくなる、ワードプレスにバグが起きてしまったなどのトラブルが起こった時には、ワードプレスを操作するのではなくて、直接データベースを操作することとなるのです。
数字や文字などのワードプレスに入力した情報は、データベースにほとんど登録されています。ただ登録されているというだけでなく、きちんと分類に分けて登録されているのです。例えば、投稿・固定ページに関する本文などのデータが入るものは「wp_posts」、カテゴリー・タグと記事を関連付けるデータが入るものは、「wp_term_relationships」と分類されています。詳しくは、「ワードプレスでmySQLが使われている部分」という章で表にまとめて紹介しているので、そちらをご覧ください。
また、普段スマホやパソコンなどで閲覧しているサイトのブラウザの記事は、データベースから情報を引き出して、それをもとにHTMLとCSSから作られたものなのです。
例えば、ユーザーが記事を選んでクリックすると、投稿・固定ページに関する本文などのデータが入るデータベースの「wp_posts」からユーザーが選んだ記事の情報を引き出してその情報をもとに記事を作成してくれます。
MySQLとSQLの違い
「MySQL」は、世界的に利用されているオープンソースの「リレーショナルデータベース」です。一方「SQL」 は、リレーショナルデータベースの大量のデータを操作できる「言語」のことを指します。つまり、「MySQL」を操作する際に、「SQL」というデータベース言語が使用されるのです。
「SQL」を使うことで、4つのことができるようになります。
データベースの作成・変更・削除ができる
「SQL」は、大量のデータを蓄積できるデータベース本体と、データベースに備わっているテーブルを作ったり、変更したり、削除したりと思い通りに扱えるようになります。データベースとテーブルを管理できるということは、ユーザーや商品などの情報が取り扱えるようになるのです。例えば、データベースのデータを分析してビジネスの向上に繋げたり、データの共有を簡単にしたりできるようになります。
テーブルが結合できる
「SQL」を使うと、「SQL」で作ったテーブル同士を結合させることができます。テーブル同士が異なる場合でも結合が可能です。例えば、「商品の情報が書かれたテーブル」と「商品のIDや値段の書かれたテーブル」を結合させると、「商品の情報や値段が合わさったテーブル」などを作れて、情報がより整理しやすくなります。
データを検索して抽出できる
「SQL」はデータベースに蓄積された大量のデータから、指定したデータのみを検索して抽出できます。例えば、性別でデータを検索したり、ユーザーの名前だけを探し出したり、ユーザーの年齢層を絞って検索したりなどが、条件を指定するだけで簡単にできるようになるのです。
トランザクションの制御
「SQL」を使うと、トランザクションの制御ができるようになります。トランザクションとは、データベースの検索、登録、更新、削除などの一連の処理をまとめて管理している単位のことを指します。そのトランザクションを制御することとは、何人かのユーザーがサイトにアクセスした際に起こるデータの矛盾や、データベースが処理の途中で突然終了してしまうなどの問題を防ぐ機能のことを指します。
ワードプレスのシステムとは
ワードプレスは、オープンソース型のブログ管理システム(CMS)です。
サイトやブログを簡単に作成できるため、圧倒的なシェア率を誇り無料で活用できます。
ワードプレスにも各情報を保管するデータベースがあり、データベースに修正を加える場合はSQLと呼ばれる言語をコンソールから直接打ち込む必要があります。
一般的にデータベースの修正は、MySQLの管理用ソフトウェアを使用し、ブラウザ上でおこないます。
ワードプレスのシステムとMySQLの関係性
ワードプレスでのデータベースは、MySQLが担っています。
ワードプレスでは、ユーザー情報や記事データなどを保管するためのデータベースが必要なため、MySQLを活用して操作を行います。
一般的にhtml形式でのファイルを利用したサイトではデータベースを使用する必要はありません。
しかしワードプレスは、データベースを利用しサイトを構築をおこなっているため、MySQLが必要になります。
ワードプレスの初期設定では、データベース名「wpdb」、ユーザー名「wpadmin」となっています。
ワードプレスは主に「ユーザーデータ」と「コンテンツデータ」の2つのデータ構造にわかれています。
ユーザーデータとは、パスワードデータ及びアクセス権限のことです。
コンテンツデータとは、ユーザーが作成した記事及び記事に紐づけされたタグやカテゴリーを管理することです。
ワードプレスは、単にブログとしてのデータのみならず、各種プラグインやその設定があるため、膨大なデータの保管・管理が必要になります。
SQLの命令文
先述した通り「SQL」は、リレーショナルデータベースにある大量のデータを操作できる言語です。そんな「SQL」のなかにも命令文の種類が3つあります。
データ定義言語「DDL」
DDLとは、テーブルを作ったり、変更したり削除したりすることを命令する文です。
DDL | 意味 |
CREATE | テーブルの作成 |
DROP | テーブルの削除 |
TRUNCATE | テーブルのデータ削除 |
ALTER | 既存テーブルの定義変更 |
COMMENT | テーブルへのコメント追加 |
RENAME | テーブル名の変更 |
JOIN | テーブルの結合 |
データ操作言語「DML」
DMLとは、データの操作に使う命令文です。テーブルの行を指す「レコード」に関するデータを操作します。
DML | 意味 |
SELECT | レコードをテーブルから取得する |
DELETE | レコードをテーブルから削除する |
INSERT | レコードをテーブルに新規登録する |
UPDATE | テーブルのレコードを更新する |
データ制御言語「DCL」
DCLとは、テーブルやレコードの操作の管理、トランザクション制御をする命令文です。
DCL | 意味 |
GRANT | テーブルへの権限付与 |
BEGIN | トランザクション処理の開始 |
REVOKE | テーブルへの権限取り消し |
ROLLBACK | トランザクション処理の取り消し |
COMMIT | トランザクション処理の確定 |
ワードプレスでmySQLが使われている部分
ワードプレスのデータベースには、12個のテーブルが備わっています。12個のテーブルの内容は、以下の通りです。
名称 | 内容 |
wp_commentmeta | コメントのメタデータが入る |
wp_comments | ワードプレスへのコメントに対するデータやコメントした人などのデータが入る |
wp_links | リンクに関するデータが入る |
wp_options | サイト名やパーマリンクなどの情報が入る |
wp_postmeta | 投稿に関するメタデータが入る |
wp_posts | 投稿・固定ページに関する本文などのデータが入る |
wp_termmeta | カテゴリーなどのデータに関するメタデータが入る |
wp_terms | カテゴリーなどのデータが入る |
wp_term_relationships | カテゴリー・タグと記事を関連付けるデータが入る |
wp_term_taxonomy | カテゴリ・タグ・ネームなどのシステム用データが入る |
wp_usermeta | ニックネームなどのユーザーのメタデータが入る |
wp_users | ユーザー名、パスワード、メールアドレスなど管理者のユーザー情報が入る |
データベースは、これら12個のテーブルに分けられていますが、テーブルの中でもまた分類されているのです。
今回は、テーブル「wp_posts」「wp_users」「wp_links」をさらに細かく分類しました。
12個のテーブルの中でも、とくに重要なテーブルが「wp_posts」です。記事の投稿・固定ページに関する本文などのデータが入ります。
テーブル「wp_posts」をより分類していくと、以下のようになります。
ID | 投稿のID |
post_author | 投稿者のID |
post_content | 投稿の本文 |
post_date | 投稿した日時 |
post_date_gmt | 投稿した日時(GMT) |
post_title | 投稿のタイトル |
post_status | 投稿のステータス |
postexcrpt | 抜粋されたオプション |
ping_status | ピンバックやタックバックを受け付けているかどうか |
post_password | 投稿を見るために必要なパスワード |
comment_status | コメントを許可しているかどうか |
ワードプレスのユーザー名、パスワード、メールアドレスなど管理者のユーザー情報が入るテーブルです。
テーブル「wp_users」をより分類していくと、以下のようになります。
ID | ユーザーのID |
user_pass | ユーザーのパスワード |
user_email | ユーザーが登録したメールアドレス |
user_login | ログイン名 |
user_url | ウェブサイトのURL |
user_registered | ユーザーの登録した日時 |
ワードプレスのリンクに関するデータが入るテーブルです。
テーブル「wp_users」をより分類していくと、以下のようになります。
link_id | リンクの登録ごとに割り振られているID |
link_name | リンク名 |
linl_url | ウェブサイトのURL |
link_image | 画像のURL |
link_description | ディスクリプション |
link_target | リンクのターゲット |
link_notes | メモ |
link_owner | 評価(評価を表す項目は何個かあります) |
ワードプレスのデータベースはMySQLが担っている
以上、ワードプレスのシステムにおけるMySQLとの関係性を解説しました。
ワードプレスのシステムにはMySQLが必要不可欠であるため、仕組みを理解しておくことが大切です。
また、ワードプレスのデータ構造やMySQLの使用方法について深く理解することで、ワードプレスのシステム管理をスムーズにおこなうことができます。
「ワードプレスのシステムやMySQL、またその関係性についてよくわからない」
このようにお悩みの事業者様は、ぜひEMEAO!にご相談ください。
事業者様のお悩みに合った、優良な業者を完全無料でご紹介します。
この記事を書いた人
編集部員 濵岸
編集部員の濵岸と申します。コンテンツ作成と取材を主に担当しております。身長が低いため学生時代は「お豆」と呼ばれていました!豆らしく、皆様の役に立つ記事を「マメに豆知識を!」の意識で作成します!どうぞよろしくお願いいたします!