プログラミングを勉強する方であれば一度は「MySQL(マイ・エスキューエル)」についての話題を耳にしたことがあるのではないでしょうか。

本稿では、MySQLの概要やインストール方法、基本的な使い方をまとめて解説いたします。

 

MySQLとは?

それでは、まずはじめに、そもそもMySQLとはどのようなものなのかについて、特徴や周辺プログラムについてを説明します。

MySQLの特徴と歴史

MySQLは、世界中の多くの企業に利用されている、オープンソースのデータベース管理システムです。

米国のオラクル社が開発・提供しており、WordPressのようなWebサイトを構築するCMS(コンテンツマネジメントシステム)において、データを簡単に使用したり取得したりできるように、構造化するためのシステムとして使用されています。

データベースとは何か

データベースとは、体系的に整理されたデータの集合体で、コンピューターで効率的に管理・検索できるようにしたシステムです。

スマートフォンの連絡先リストのような単純なものから、Amazonの商品カタログのような複雑なものまであります。

MySQLはリレーショナルデータベースの一種で、データを表(テーブル)形式で保存し、それらの関係性を定義できます。

これにより「特定の条件に合った商品を探す」「会員の購入履歴を確認する」といった操作が高速かつ正確に行えるため、多くのウェブサービスの基盤として利用されています。

SQLとの違い

SQLとMySQLは名前が似ていますが、役割は全く異なります。

SQLはStructured Query Languageの略で、データベースを操作するための言語です。一方、MySQLはSQLを使ってデータを管理するシステム(DBMS:データベース管理システム)です。例えるなら、SQLは英語などの「言語」であり、MySQLはその言語を使って実際に対話する「ソフトウェア」です。

他にもPostgreSQLやSQL Serverなど様々なDBMSがありますが、いずれもSQLという共通言語で操作します。MySQLはオープンソースで無料から使え、高い安定性と処理速度を持つため、特にウェブ開発で人気があります。

MySQLの5つの特徴

MySQLは、世界中で最も利用されているデータベース管理システムの一つです。

「RDBMS(リレーショナルデータベースマネジメントシステム)」と呼ばれる種類に分類され、複雑なデータも整理整頓して高速に扱えるのが強みです。

GoogleやFacebook、YouTubeといった巨大IT企業も採用するなど、その信頼性は折り紙付きです。ここでは、初心者がまず知っておくべき5つの特徴について解説します。

オープンソースであること

最大の特徴は「オープンソース」である点です。これはプログラムの設計図(ソースコード)が一般に公開されており、誰でも自由に使用、改良、再配布ができることを意味します。

世界中のエンジニアが開発に協力しているため、機能の改善やバグの修正が非常に早く、常に最新の技術トレンドが反映されやすい環境が整っています。

商用利用も可能なライセンス形態が多く、企業のプロジェクトでも安心して採用されています。

データを「表」形式で管理するRDBMS

MySQLはデータを「テーブル」と呼ばれる表形式で管理します。Excelのシートをイメージすると分かりやすいでしょう。

「行(レコード)」と「列(カラム)」で構成された表の中にデータを格納し、それぞれの表同士を関連付け(リレーション)て管理します。

この構造により、複雑なデータでも矛盾なく、整理された状態で保存できるのがRDBMSの大きな特徴です。

標準言語「SQL」での操作

データベースへの命令には「SQL(Structured Query Language)」という言語を使います。

「データをください」「新しいデータを追加して」といった命令を、人間が理解しやすい構文で記述可能です。SQLは国際標準規格(ISO)で定められており、一度覚えればOracleやPostgreSQLといった他のデータベース製品でも応用が利くため、エンジニアとしての汎用的なスキルになります。

マルチプラットフォーム対応

Windows、macOS、Linux(UbuntuやCentOSなど)といった主要なOSのほとんどに対応しています。

開発は手元のMacやWindowsで行い、本番公開用のサーバーはLinuxで動かす、といった柔軟な運用が可能です。環境を選ばずに導入できるため、個人の学習用パソコンから企業の基幹システムまで、場所を選ばずに同じデータベース技術を利用できます。

高速な処理能力と拡張性

「ストレージエンジン」というデータを読み書きする部品を、用途に合わせて切り替えられるのもMySQLならではの特徴です。

読み込み専用の高速なエンジンや、データの整合性を重視したエンジンなどを選ぶことで、Webサイトのようなアクセスが集中する環境でも高速に動作します。ユーザー数が増えてもシステムを拡張しやすいため、小さく始めて大きく育てるサービスに最適です。

MySQLを活用するメリット

数あるデータベースの中で、なぜMySQLが選ばれるのでしょうか。PostgreSQLなど他のデータベースと比較しても、MySQLには初心者からプロフェッショナルまでを惹きつける明確な理由があります。ここでは、実際に学習や開発に導入する際の具体的なメリットを5つ挙げます。

初期費用を抑えられる

基本的に無料で利用できるため、学習を始める際の金銭的なハードルがありません。

高機能な商用データベース製品はライセンス料が高額になることがありますが、MySQLなら個人のWebサイト制作やスタートアップのアプリ開発でも、コストをかけずに本格的なデータベース環境を構築できます。

情報が豊富で学習しやすい

世界シェアが高いため、インターネット上や書籍などの情報量が圧倒的です。

インストールでつまずいたり、エラーが出たりしても、検索すればすぐに解決策が見つかります。「困ったときにすぐ答えが見つかる」という点は、独学でスキルを習得しようとする初心者にとって、学習の挫折を防ぐ最大のメリットと言えるでしょう。

Web開発との相性が抜群

Webサイト構築によく使われるプログラミング言語「PHP」や、CMSの「WordPress」と非常に相性が良く、標準的な組み合わせ(LAMP環境など)として定着しています。

Webエンジニアを目指す場合、MySQLの知識は必須級。セットで覚えることで、動的なWebサイトやWebアプリをスムーズに開発できるようになります。

高いセキュリティと信頼性

「ユーザーごとに閲覧できるデータを制限する」「パスワードの強度を高める」といったセキュリティ機能が充実しています。

顧客の個人情報や決済情報など、重要なデータを扱う企業のシステムでも長年採用され続けてきた実績があり、適切に設定を行えば、外部からの攻撃やデータ漏洩のリスクを最小限に抑えられます。

レンタルサーバーで手軽に使える

多くのレンタルサーバー会社が標準でMySQLを提供しています。自分で難しいサーバー構築をしなくても、契約したその日からデータベースを利用できるケースがほとんどです。学習した内容をすぐにインターネット上で公開し、実際に動くサービスとして世に出しやすい環境が整っています。

MySQL関連ソフト・管理ツール

人気のMySQLですが、MySQL単体ではCMSは動きません。PHP、php-mysqlモジュール、Webサーバーなどが必要です。

MySQLの関連ツールとして、以下のようなものもあるので、使用を検討してみてもいいでしょう。

phpMyAdmin

Webブラウザ上でデータ管理ができます。ブラウザで操作できるので、Windows、Mac、LinuxいずれのOSでも使用できます。

Sequel Ace

軽くて使いやすいMacユーザー向けのツールです。

HeidiSQL

軽く、高機能なWindows向けのツールです。

続いて、実際にMySQLを動かしていく上で、抑えておきたいポイントを紹介します。

リレーショナルデータベース

データベースにおけるデータの保存方法は「階層型データベース」「ネットワーク型データベース」などいろいろありますが、MySQLでは「リレーショナルデータベース」という形式を採用しています。

これは、簡単に言うと「列と行で構成されているデータベース」のこと。Excelの表計算のように「列」に企業名や所在地などを入力し、「行」に各関連データを入力していくような形式です。

SQLを使用するデータベース管理システムは「RDBMS(Relational DataBase Management System)」と呼ばれており、MySQLもRDBMSの一つです。

特徴としては以下のような点が挙げられます。

  • SQLによって操作できる
  • 複雑なデータの扱いができる
  • 複雑なデータが扱える分、仕様変更時の柔軟性は低い
  • 処理速度が遅くなる

反対に、SQLを使わないデータベース管理システムは「NoSQL(Not only SQL)」と呼ばれており、以下のような特徴があります。

  • よりスムーズにデータ取得や格納ができる
  • 大規模データに対応できる
  • データの整合性を保つのが苦手
  • データ加工が難しい

それぞれのデータベースの特徴を理解した上で、実際に手を動かしていくことをおすすめします。

 

クライアントサーバーモデル

MySQLの特徴として、クライアントサーバーモデルであることが挙げられます。

クライアントサーバーモデルとは、クライアント側にプログラムソフトをインストールして、サービスを提供するサーバーとの役割分担をしたシステムモデルのことです。

各種データが保存されるサーバーにアクセスするために、SQLを用いてクライアントが要求をサーバーに送信します。

クライアントサーバーモデルは、クライアントとサーバーの役割が明確に分かれているため、エラーが発生した際にどこに要因があるのかを特定しやすい点があります。

また、いうれかに負荷を集中させず、分散しやすいのも特徴です。

MySQLの活用シーン

データベースの代表格であるMySQLは、さまざまな分野で活用されています。ここでは、具体的な活用シーンを紹介し、MySQLがビジネスや開発においてどのように役立つのかを見ていきましょう。

Webサイト・Webアプリケーション開発

最も一般的なMySQLの活用例がWebサイトやWebアプリケーションのバックエンドです。

ECサイトの商品データや会員情報、ブログの記事データなど、あらゆるコンテンツをデータベースに格納することで、動的なWebサイトを構築できます。

WordPressなどの人気CMSも標準でMySQLを採用しており、記事や画像、ユーザー情報などを管理しています。MySQLとPHPの組み合わせは、中小規模のWebサービス開発において特に人気があります。

データ分析基盤

企業が収集する顧客データや行動ログなどを蓄積・管理するためにMySQLが活用されています。

MySQLの強力なクエリ機能を使えば、「過去3ヶ月間の顧客購買傾向」や「地域別のサービス利用状況」などを分析できます。

また、BIツールと連携することで、蓄積したデータをダッシュボードとして可視化し、経営判断に役立てることも可能です。多くのスタートアップ企業が初期段階のデータ分析基盤としてMySQLを選択しています。

IoTデバイスのデータ管理

スマート家電やセンサーなどのIoTデバイスから収集されるデータの保存先としてもMySQLは活用されています。

例えば、工場の生産ラインに設置されたセンサーから収集される温度や稼働状況のデータをMySQLに蓄積し、異常検知や予防保全に役立てるといった使い方です。

MySQLの軽量性と高速なデータ処理能力は、リアルタイムでデータを収集・分析する必要があるIoT環境と相性が良いとされています。

MySQLインストール方法

それでは、実際に無料提供のMySQLをWindows環境にインストールする方法を紹介します。

インストール手順

ダウンロードページにアクセス

まずはこちらのダウンロードページへアクセスしてください。

https://dev.mysql.com/downloads/installer/

バージョン選択し、ダウンロードをクリック

なにか指定のバージョンを使用したい場合は、対応したバージョンを選択すればよいですが、基本的には最新バージョンをダウンロードするようにしましょう。

1つ目のと「mysql-installer-web-community」と2つ目の「mysql-installer-community-8.0.25.0.msi」がありますが、違いは、前者がネット環境下でのダウンロード、後者がネットがつながっていない状態でのダウンロードです。

今回は前者を選択しましょう。

ログインを求められます。オラクルアカウントをお持ちの方はログインしてもよいですが、画面左下の「No thanks, just start my download.」からダウンロードできます。

ダウンロードファイルを実行し、インストール

ダウンロードが完了したら、ファイルを実行しましょう。

その後、ライセンスを読み、チェックボタンをチェックしてから、「Next」をクリック。

その後、セットアップ方法を聞かれるので、「Developer default」を選択。(余計なソフトをダウンロードしたくない方は、「Custom」から必要なものだけを選択するのもよいでしょう。)

「Execute」を押せば、インストールがスタートします。

製品構成画面

無事にインストールが完了したら、インストール後の設定に移ります。

「Product Configuration」と書かれた画面では「Next」をクリック。

「High Availability」という画面では、「Standalone MySQL Server」を選択して「Next」をクリックしましょう。

「Type andType and Networking」画面では、そのまま「Next」を押していただいて大丈夫です。

認証方式/パスワード/サービス設定

「Authentication Method」では上の(RECOMMENDED)と書かれた方を選択して「Next」をクリック。

「Accounts and roles」では、Rootアカウントのパスワードを2回入力して、「Next」をクリック。

「Windows Service」では、Windowsのサービスとして動作させるかどうかを聞かれます。今回はWindows向けの開設なので、そのまま「Next」をクリック。

「Apply Configuration」では、最終確認をして、特に問題なさそうであれば「Execute」をクリック。

最後に「Finish」を押すと、インストールが完了します。

 

MySQLの基本的な使い方

MySQLの基本的な使い方のフローを紹介します。

サーバーへのログイン

まずはサーバーのログインをしましょう。

Windowsであれば、「コマンドプロンプト」、Macなら「Terminal」を使用します。

“mysql -u root -p”と入力すると、パスワードを入力するように言われるので、インストールした際のパスワードを入力し、ログインしましょう。

データベースの作成

サーバーへログインできたら、今度はデータベースの作成に移りましょう。

“create database (データベース名);”を入力することで、新規のデータベースが作成できます。

テーブル作成

続いて、データベースを指定し、テーブルを作成しましょう。

テーブルを作成する際はCREATE TABLE文を使用します。

データ新規登録

テーブルにデータを新規登録する際は以下で可能です。

“insert into (データベース名) values((フィールド名),’(データ型)’);”

ログアウト

“exit”コマンドを入力することで、ログアウトできます。

MySQLでよく使うコマンド

MySQLを使用する上で特によく使うコマンドをまとめておきます。

ユーザーの作成

ユーザーを作成する場合は、以下のコマンドを入力します。パスワードは任意のものを設定できます。

 

CREATE USER 「ユーザー名」 IDENTIFIED BY 「パスワード」;

 

ヘルプ

MySQLでコマンドの使い方に迷ったら、HELPコマンドを活用しましょう。

HELP contents; -- ヘルプトピックの一覧を表示
HELP 'CREATE USER'; -- 特定のコマンドのヘルプを表示

 

また、特定のキーワードに関連するコマンドを探すには以下を使用します。

HELP 'user'; -- 'user'に関連するコマンドの情報を表示

権限付与

ユーザーを作成した後に権限を付与し、操作できるようにするためのコマンドは以下です。

 

GRANT ALL PRIVILEGES ON データベース名」.* TO 「ユーザ名」@「ホスト名」;

ユーザーの一覧の確認

作成したユーザーを一覧化して表示したい時のコマンドは以下です。

 

SELECT * FROM mysql.user

MySQLのバージョンの確認

自分の使用するMySQLのバージョンを確認したい場合はターミナルを使用することで確認できます。

 

ターミナルを開き、以下を入力します。

mysql --version

 

また、ターミナル接続後は以下のコマンドでバージョン確認ができます。

SELECT version()

MySQLを学ぶ方法

MySQLをこれから集中的に学びたい!という方へ、学習方法を紹介します。

パターンとしては、大きくわけて「独学」か「スクール」が挙げられます。

独学のメリット

費用を浮かせつつ、自分のペースで学習したい!という方には独学がおすすめです。

教本を注文し、その内容に沿ってコツコツ勉強していくスタイルです。

独学のデメリット

よくも悪くも自分の向上心やスケジュール管理能力に依存した勉強方法になるので、三日坊主になってしまう可能性が高いことです。

また、一人で勉強していくことになるので、周囲からフィードバックを受けられなかったり、気になったことがあったときに聞けなかったりといったことでつまずきやすい勉強方法ともいえるでしょう。

スクールのメリット

スクールは、独学と違って、プロからのフィードバックを受けながら学習できるのが大きな特徴です。フィードバックの数が上達度を左右するといっても過言ではありません。

また、一緒に学習する仲間がいたり、プロフェッショナル監修のカリキュラムがあったりすることで、「続けやすい」というのも大きなメリットといえるでしょう。

くわえて、その後の就職や転職支援もしてくれることがあるので、初期費用はかかるものの、元をとりやすい設計になっています。

スクールのデメリット

やはり、スクールに通う上で、受講料がかかる点です。

また、学校に通う、通学式のスクールの場合、通学時間も必要となります。オンラインスクールであれば、自宅にいながら学習できるので、そのあたりの時間設計は柔軟にできます。

独学があう人、スクールがあう人

独学は、自分でコツコツ意志を持って学んでいける!という方にとってはおすすめです。

ただ、ふだんの仕事や学校がある中で、休みを削って勉強していくのは簡単なことではありません。

もし「続けていくのに自信がない」「本気でプログラミングを仕事にしたい」という方であれば、初期費用を投資して、スクールで学習するのがマッチしているといえるでしょう。

 

まとめ

最後になりましたが、MySQLはウェブ制作の仕事をやっていきたいのであれば、ぜひともおさえておきたい技術のひとつです。

ぜひともマスターして、ご自身のキャリアアップにつなげてください。

デジハリオンラインスクールでは、将来の目標にむけてがんばるあなたを応援しています!