MySQLの基礎知識|インストールから基本操作まで
技術
公開日: 2026/04/02
目次
※この記事にはプロモーションを含みます
はじめに
Webアプリ開発やバックエンドを学び始めると、必ずと言っていいほど登場するのがデータベースです。
MySQLは世界で最も広く使われているオープンソースのリレーショナルデータベース管理システム(RDBMS)です。WordPressやECサイト、業務システムなどあらゆる規模のWebサービスで採用されており、データベーススキルを身につけるうえでMySQLは最初の選択肢として最適です。
この記事では、MySQLとは何かという概要から、インストール方法(直接インストール・Docker)、GUIツールのMySQL Workbench、基本的なSQL操作(SELECT・INSERT・UPDATE・DELETE)まで、初心者が必要とする情報を体系的に解説します。
MySQLとは?
まずはMySQLの基本的な性質と、他のデータベースとの違いを整理しましょう。
MySQLの基本概要とリレーショナルデータベースの仕組み
MySQLは1995年にスウェーデンで開発されたオープンソースのデータベース管理システムです。現在はOracle Corporationが管理しており、無償で使えるコミュニティエディション(MySQL Community Edition)が広く普及しています。
MySQLはリレーショナルデータベース(RDB) の一種です。リレーショナルデータベースとは、データを「表(テーブル)」の形式で管理するシステムです。Excelのスプレッドシートに近いイメージで、行と列でデータを整理します。
- usersテーブルの例
| id | name | email | age |
|----|-------------|--------------------------------|------|
| 1 | 田中太郎 | tanaka@example.com | 28 |
| 2 | 山田花子 | yamada@example.com | 32 |
複数のテーブルを「リレーション(関係)」で結びつけることで、複雑なデータ構造も効率よく管理できます。データの操作にはSQL(Structured Query Language) という専用の言語を使います。
PostgreSQL・SQLiteなど他のDBとの違い
代表的なRDBMS(リレーショナルデータベース管理システム)を比較してみましょう。
| 特徴 | 主な用途 | |
|---|---|---|
| MySQL | 高速・安定・広く普及 | WebアプリのDB(WordPress等) |
| PostgreSQL | 高機能・拡張性が高い | 大規模システム・複雑なクエリ |
| SQLite | ファイル単体で動作・軽量 | モバイルアプリ・小規模ツール |
| Oracle DB | 高信頼性・企業向け機能が豊富 | 大規模企業システム |
MySQLはWebアプリケーションとの親和性が高く、PHPやPython・Node.jsとの組み合わせが特に多いです。初心者が最初に学ぶDBとしても最もポピュラーな選択肢です。
MySQLのインストールと環境構築
MySQLを使い始めるには環境構築が必要です。ローカルへの直接インストールとDockerを使った方法の両方を紹介します。
Windows・MacへのMySQLの直接インストール
Windowsの場合
1.MySQL公式サイトから「MySQL Installer for Windows」をダウンロードする
2.インストーラーを起動し「Developer Default」または「Server only」を選択する
3.インストール完了後、rootパスワードを設定する
4.コマンドプロンプトで以下を実行してバージョンを確認する
mysql --version
Macの場合
Homebrewを使うのが最も手軽です。
# Homebrewのインストール(未インストールの場合)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# MySQLのインストール
brew install mysql
# MySQLの起動
brew services start mysql
# 初期設定(rootパスワード等)
mysql_secure_installation
インストール後、以下でMySQLにログインできます。
mysql -u root -p
Dockerを使ったMySQL環境の構築
現代の開発現場ではDockerを使ったMySQL環境の構築が主流です。docker-compose.yml を使うことで、環境の再現性を保ちながら簡単にMySQLを起動できます。
# docker-compose.yml
version: '3.8'
services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: myapp_db
MYSQL_USER: appuser
MYSQL_PASSWORD: apppassword
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
以下のコマンドでMySQLコンテナを起動します。
docker-compose up -d
コンテナが起動したら、以下でMySQLに接続できます。
docker exec -it <コンテナ名> mysql -u root -p
DockerはPCの環境を汚さず、チームメンバーと同一の環境を共有できるため、実務でもよく採用される構築方法です。
MySQL Workbenchの使い方
コマンドラインだけでなく、GUIツールを使うことでMySQLの操作がより直感的になります。
MySQL Workbenchとは?
MySQL Workbenchは、Oracle公式が提供するMySQLの統合開発環境(GUIツール)です。コマンドライン操作が不要で、以下の機能をグラフィカルに操作できます。
- データベース・テーブルの作成・変更・削除
- SQLクエリの実行と結果の確認
- ER図(テーブル間の関係図)の作成・表示
- データのインポート・エクスポート
- ユーザー権限の管理
これらの機能により、MySQLの操作をより直感的かつ効率的に行えます。

インストール方法
MySQL公式サイトから無料でダウンロードできます。Windows・Mac・Linuxに対応しています。
Workbenchを使ったデータベース接続と基本操作
インストール後、以下の手順でMySQLサーバーに接続します。
1.MySQL Workbenchを起動する
2.「MySQL Connections」の「+」ボタンをクリックする
3.接続名・ホスト(localhost)・ポート(3306)・ユーザー名・パスワードを入力する
4.「Test Connection」でテストし、「OK」をクリックする
接続後はSQLエディタにクエリを入力して実行できます。テーブルの一覧表示やデータの確認もGUIから直感的に行えます。
初心者がSQL学習の出発点として使うには、コマンドラインとWorkbenchの両方を触って慣れることをおすすめします。
MySQLの基本SQL操作
MySQLの核心はSQLによるデータ操作です。基本の4操作(CRUD) を解説します。
テーブルの作成とデータの挿入
MySQLでデータを扱うには、データベース・テーブルの作成からデータ挿入・取得まで一連の流れを把握することが重要です。
データベースとテーブルの作成
-- データベースの作成
CREATE DATABASE myapp_db;
-- データベースの選択
USE myapp_db;
-- テーブルの作成
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
データの挿入(INSERT)
-- 1件挿入
INSERT INTO users (name, email, age) VALUES ('田中太郎', 'tanaka@example.com', 28);
-- 複数件まとめて挿入
INSERT INTO users (name, email, age) VALUES
('山田花子', 'yamada@example.com', 32),
('佐藤次郎', 'sato@example.com', 25);
データの取得(SELECT)
-- 全件取得
SELECT * FROM users;
-- 条件を絞って取得
SELECT name, email FROM users WHERE age >= 30;
-- 並び替え
SELECT * FROM users ORDER BY age DESC;
データの更新・削除
データの更新(UPDATE)
-- 特定のレコードを更新
UPDATE users SET age = 29 WHERE id = 1;
-- 複数のカラムを同時に更新
UPDATE users SET name = '田中太郎(更新)', age = 30 WHERE id = 1;
UPDATE文を使う際の最重要ポイントは、必ずWHERE句で対象を絞ることです。WHERE句を省略すると、テーブル内の全レコードが更新されてしまう危険があります。
-- 危険な例(WHERE句なし)
UPDATE users SET age = 0; -- 全ユーザーのageが0になる!
-- 正しい例
UPDATE users SET age = 0 WHERE id = 1; -- id=1のユーザーのみ更新
データの削除(DELETE)
-- 特定のレコードを削除
DELETE FROM users WHERE id = 3;
-- 条件に合うレコードをまとめて削除
DELETE FROM users WHERE age < 20;
DELETEもWHERE句なしで実行すると全件削除になるため、必ず確認してから実行しましょう。
MySQLを実務で使うためのポイント
基本操作を習得したら、実務で欠かせない知識も押さえておきましょう。
トランザクションとロールバックの基本
トランザクションとは、複数のSQL操作をひとまとまりとして扱う仕組みです。「すべて成功する」か「すべて失敗(ロールバック)する」かを保証し、データの整合性を保ちます。
-- トランザクション開始
START TRANSACTION;
-- 処理1:残高を減らす
UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
-- 処理2:残高を増やす
UPDATE accounts SET balance = balance + 1000 WHERE id = 2;
-- 問題なければ確定
COMMIT;
-- エラーがあれば取り消し
-- ROLLBACK;
銀行の送金処理のように「引き落とし」と「入金」が必ずセットで成功しなければならない場面では、トランザクションが不可欠です。
インデックスとパフォーマンス改善の考え方
データ量が増えるとSQLの実行速度が遅くなることがあります。インデックスはデータの検索を高速化するための仕組みです。
-- インデックスの作成
CREATE INDEX idx_email ON users(email);
-- EXPLAINでクエリの実行計画を確認
EXPLAIN SELECT * FROM users WHERE email = 'tanaka@example.com';
インデックスはよく検索条件に使われるカラム(メールアドレス・ユーザーIDなど)に設定すると効果的です。ただし、インデックスが多すぎるとINSERT・UPDATEの処理が遅くなるため、必要なカラムにのみ設定するのがベストプラクティスです。
まとめ
MySQLは世界最大級のシェアを持つオープンソースのリレーショナルデータベースであり、Webアプリ開発の現場で幅広く使われています。
環境構築は直接インストールのほか、Dockerを使う方法が現代の開発現場では主流です。MySQL WorkbenchのようなGUIツールを併用することで、データの確認や操作が視覚的に行いやすくなります。
基本のSQL操作(SELECT・INSERT・UPDATE・DELETE)を身につけることがMySQL習得の出発点であり、特にUPDATE・DELETE時のWHERE句の指定は実務でも必ず意識すべき重要なポイントです。
トランザクションやインデックスまで理解できると、より実践的なデータベース設計ができるようになります。