[PHPのはじめ方] Part21: MySQLとphpMyAdminの基本

Webアプリケーション開発において、データの保存や管理は欠かせません。その中心的な役割を担うのが「データベース」です。このステップでは、広く使われているデータベース管理システム「MySQL」と、それを簡単に操作するためのツール「phpMyAdmin」の基本を学びます。

MySQLってなに? 🤔

MySQLは、世界で最も人気のあるオープンソースのリレーショナルデータベース管理システム (RDBMS) の一つです。Webアプリケーションのバックエンドとして、ユーザー情報、商品データ、ブログ記事など、様々なデータを効率的に格納、整理、検索するために広く利用されています。

リレーショナルデータベースとは、データを「テーブル」と呼ばれる表形式で管理するデータベースのことです。各テーブルは行(レコード)と列(カラム)で構成され、テーブル同士を関連付ける(リレーション)ことで、複雑なデータ構造も表現できます。

データベースの基本用語

用語 説明
データベース (Database) 関連するデータの集まり。複数のテーブルを含むことができる。 ブログシステム全体のデータ(ユーザー情報、記事情報など)
テーブル (Table) データを格納する表形式の構造。行と列で構成される。 ユーザー情報を格納する `users` テーブル、記事情報を格納する `posts` テーブル
カラム (Column) / フィールド (Field) テーブルの列。データの項目を表す。 `users` テーブルの `id`, `username`, `email` など
レコード (Record) / 行 (Row) テーブルの行。個々のデータを表す。 `users` テーブルの特定のユーザー1人分の情報
データ型 (Data Type) カラムに格納できるデータの種類を指定するもの。 `id` カラムは整数型 (INT)、`username` カラムは文字列型 (VARCHAR) など
主キー (Primary Key) テーブル内の各レコードを一意に識別するためのカラム。重複やNULL値は許可されない。 `users` テーブルの `id` カラム

代表的なデータ型

データ型 説明
INT 整数(例: ユーザーID, 年齢)
VARCHAR(n) 可変長の文字列(最大 n 文字)(例: ユーザー名, タイトル)
TEXT 長い文字列(例: 記事本文)
DATE 日付 (YYYY-MM-DD)
DATETIME 日時 (YYYY-MM-DD HH:MM:SS)
BOOLEAN (または TINYINT(1)) 真偽値 (true/false)

phpMyAdminってなに? 🔧

phpMyAdminは、Webブラウザを通じてMySQLデータベースを管理するためのグラフィカルユーザインタフェース (GUI) ツールです。PHPで書かれており、無料で利用できます。XAMPPやMAMPなどの開発環境パッケージにも標準で含まれていることが多いです。

phpMyAdminを使うと、以下のような操作をコマンド(SQL文)を直接入力することなく、画面上の操作で簡単に行えます。

  • データベースの作成、削除
  • テーブルの作成、変更、削除
  • データの表示、追加、編集、削除
  • SQLクエリの実行
  • データベースのバックアップ(エクスポート)と復元(インポート)
  • ユーザーアカウントの管理
💡 ポイント: phpMyAdminは非常に便利ですが、実際の開発ではSQL文を直接書いて操作することも重要です。phpMyAdminはSQL文を学ぶための補助ツールとしても役立ちます。

phpMyAdminの基本操作を見てみよう! 👀

ここでは、XAMPPやMAMPに含まれるphpMyAdminを例に、基本的な操作の流れを説明します。(実際の画面はバージョンによって多少異なる場合があります)

1. アクセス方法

Webブラウザを開き、XAMPPなら http://localhost/phpmyadmin/ 、MAMPならコントロールパネルからアクセスするのが一般的です。

2. データベースの作成

  • 左側のメニュー、または上部の「データベース」タブをクリックします。
  • 「データベースを作成する」の欄に、作成したいデータベース名(例: `my_blog_db`)を入力します。
  • 照合順序は通常 `utf8mb4_general_ci` または `utf8mb4_unicode_ci` を選択します。(日本語を扱う場合)
  • 「作成」ボタンをクリックします。

3. テーブルの作成

  • 作成したデータベース(例: `my_blog_db`)を左側のメニューから選択します。
  • 「テーブルを作成」の欄が表示されます。
  • テーブル名(例: `posts`)を入力します。
  • カラム数(テーブルの列数)を指定します。後から追加・削除も可能です。
  • 「実行」ボタンをクリックします。
  • カラム定義画面が表示されるので、各カラムの名前、データ型、長さ/値、デフォルト値、インデックス(主キーなど)を設定していきます。
  • 例えば、`posts` テーブルなら以下のように設定します。
    • id: 型=INT, 長さ/値=11, インデックス=PRIMARY, A_I (Auto Increment) にチェック
    • title: 型=VARCHAR, 長さ/値=255
    • content: 型=TEXT
    • created_at: 型=DATETIME, デフォルト=CURRENT_TIMESTAMP
  • 設定が終わったら「保存する」ボタンをクリックします。

4. データの操作(CRUD)

  • 作成したテーブル(例: `posts`)を左側のメニューから選択します。
  • 上部のタブが表示されます。
    • 表示 (Browse): テーブル内のデータを一覧表示します。データの編集や削除もここから行えます。
    • 挿入 (Insert): 新しいデータを追加するためのフォームが表示されます。各カラムに対応する値を入力し、「実行」ボタンをクリックします。
    • SQL: SQL文を直接入力して実行できます。SELECT, INSERT, UPDATE, DELETE など、任意のSQLを実行可能です。
    • 検索 (Search): 条件を指定してデータを検索できます。
    • 構成 (Structure): テーブルのカラム定義を表示・変更できます。
    • 操作 (Operations): テーブル名の変更、テーブルの移動・コピー、テーブルの削除などが行えます。

5. SQLの実行

phpMyAdminの「SQL」タブを使えば、SQL文を直接実行して結果を確認できます。これはSQLの学習や複雑な操作を行いたい場合に便利です。

例えば、`posts` テーブルから全てのデータを取得するには、以下のSQL文を入力して「実行」ボタンをクリックします。


SELECT * FROM posts;

新しい記事を挿入するには、以下のようなSQL文を実行します。


INSERT INTO posts (title, content) VALUES ('初めての投稿', 'これはphpMyAdminから挿入したテスト投稿です。');
⚠️ 注意: SQL文、特にDELETE文やDROP TABLE文を実行する際は、誤って重要なデータを消してしまわないよう、十分注意してください。

まとめ ✨

今回は、データベース管理システムMySQLと、その操作ツールphpMyAdminの基本的な概念と使い方について学びました。

  • MySQLはデータを表形式で管理するリレーショナルデータベースです。
  • phpMyAdminはMySQLをブラウザから簡単に操作できるGUIツールです。
  • データベース、テーブル、カラム、レコードといった基本用語を理解しましょう。
  • phpMyAdminを使ってデータベースやテーブルを作成し、データを操作する基本的な流れを掴みましょう。

データベースはWebアプリケーション開発の心臓部です。次のステップでは、いよいよPHPからこのMySQLデータベースに接続し、データを操作する方法(PDO)を学んでいきます。しっかり基礎を固めておきましょう!💪