MySQLとは?【初心者向け】特徴やインストール方法、使い方をわかりやすく解説

MySQLとは?【初心者向け】特徴やインストール方法、使い方をわかりやすく解説

公開日:2023-10-24

プログラミング学習をしていると、「MySQL」という言葉を耳にすることが多いのではないでしょうか。

今回の記事では、「MySQL」を初めて聞く方向けに、「MySQL」とは何かといった概要から特徴、メリットやインストール方法など紹介します。

目次

MySQLとは

MySQL(マイエスキューエル)とは、ビッグデータエコシステムの中で大きく認知されており、また最も人気のデータベースになります。オープンソースで商用利用をしなければ無償で使用が可能であり、初心者の方におススメです。基本WEBアプリを作成する際はこの管理システムは必要不可欠となっています。MySQLは1995年に販売され、数年に渡り管理者が複数変わっています。現在ではアメリカ合衆国カリフォルニア州、テキサス州に本拠があるOracle社(Oracle Corporation)が管理をしています。低予算で利用することが可能で、小さなアプリケーションからサイズが大きなアプリケーションまで対応ができ拡張性と柔軟性が高く、コスト削減にもなるため一般企業や、「Yahoo!」「Google」「YouTube」などの大手企業でも利用をされており今後スタートアップやフリーランス、副業などをお考えの方も利用価値が高いといえます。また強力なセキュリティで保護されており、データベースへのアクセス制御や、他の方にデータが盗まれないように防止する暗号機能も搭載されています。今後ビジネスシーンで多くに利用される傾向があるのでぜひスキルとして身につけてみてはいかがでしょうか。

MySQLの特徴

MySQLは他のデータベースと比較しても多数の拡張機能が充実しており、多くの企業で導入されています。大規模なシステムやWEBサイトにも利用されており、特に基幹業務システムやパッケージソフトウェアなどのユーザーからのアクセスが多い大規模なアプリケーションに適しています。
MySQLの特徴としては大きく5つ挙げられます。

①オープンソース


MySQLは世界で最も普及しているオープンソースソフトウェアです。
一般的にはMicrosoft Windowsといったソフトウェアのソースコードは非公開であることが多いですが、MySQLはすべてのソースが公開されてます。
商用利用をしない限り、基本的には誰もが無償でソフトウェアを自由に使用や修正することができます。
様々なカスタマイズが可能で柔軟性も高く、MySQLがトップシェアを誇っている理由の一つです。

②データの一貫性


一連の処理が完了するまでデータを変更しないようにできる機能があり、データの一貫性に優れています。また、データのバックアップ機能やリカバリー機能なども充実しており、いざという時にも安心です。

③開発が容易


MySQLは高性能なクエリエンジンを搭載しており、開発を容易に効率的に進めることができます。WEB開発の効率を左右する「全文検索インデックス」や「高速ロードユーティリティ」など様々な機能があり、指定したキーワードを探し出す全文検索やデータ挿入といった処理を高速でおこなうことができます。

④充実のサポート体制


大手企業であるオラクル社が開発しているソフトウェアで、製品サポートやお問い合わせ対応が充実しています。

⑤マルチユーザー対応


同時に複数人のユーザーが接続し、利用することが可能です。


MySQLの動作の説明

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

様々なデータの管理方法がありますが、現在、一般的に利用されているのはリレーショナルデータベースと呼ばれるものです。(正式名称は「RDBMS(Relational Database Management System:リレーショナルデータベース管理システム)」)
これは表形式の複数データを関連付けて使えるようにしたデータベースで、顧客情報を管理する際に使われるように、多くの企業のデータベースで活用されています。
すべてのデータを1つの大きなストレージに保管するのではなく、複数の独立したテーブルに保存するデータベースです。


このリレーショナルデータベースを採用するメリットとしては、大きく3点あります。


①データ内容に矛盾や重複がなく、常に最新の整合性のあるデータを確認することができます。

②データ処理の追加に発生するコストを抑えることができ、あまり費用をかけずに、テーブルの追加・削除・更新が可能です。
③SQLを用いて複雑な検索や集計といった高度なデータ操作が可能です。
リレーショナルデータベースでは、ISOで規格化されたデータベース言語(SQL)を用いて、データの登録から取得、削除といった一連の処理をおこなっています。複雑な条件を加えて処理ができるSQLを利用することで、高度なデータ処理が可能です。


一方で、リレーショナルデータベースを利用するデメリットもあります。
①一般的なデメリットとしてよく挙げられるのが、大規模なデータ処理に向いていない点です。高度なデータ処理が可能なため、プログラムが複雑化したりデータ量が大きくなると、処理速度は遅くなります。

②データベースを拡張しづらい特徴があります。
データの整合性を維持するため、複数サーバーでの運用やクラウドシステムへの移行といったデータベースの拡張は難しいです。
もしサーバー1台ではなく複数のサーバーに拡張する場合には、高度な専門知識や時間、コストが必要になってきます。

③データを表形式に扱うことから、音声・画像・映像といった、テキストデータ以外の多様なデータには対応していません。基本的にテキストデータのみ取り扱っており、音声や映像といったデータを扱うことは難しいです。
このようにリレーショナルデータベースには一長一短があります。

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


MySQLにはリレーショナルデータベースシステム以外にも、クライアントサーバーモデルも採用しています。
ユーザーがサイトの投稿画面にアクセスした際、SQLを使用してリクエストされ、データベースサーバー(データが実際に存在される場所)から該当する内容を「クライアント」に返します。

—----------------------------------------------------------------------------------------------------------------

MariaDBとの違いとは

現代では IT 化が進み、業務処理に必要となったのがデータベースです。
※データベースとは情報を保存するストレージと呼ばれる機器を管理するシステムのことです。
データベースにはたくさんの種類がありますが、この記事では「MariaDB」と「MySQL」の
違いについて解説していきます。
MariaDBは完全オープンソースのデータベースです。


※オープンソースとは、ソフトウェアを構成しているプログラムの記述(ソースコード)を無料で一般に提
供することです。
誰でもソフトウェアの使用・改良・再配布ができます。コミュニティと呼ばれる世界中の有志が継続的に改良し続けており、MairaDB は無料かつほぼ確実なアップデートが約束されたものです。
2009 年にリリースされ、まだ歴史は浅いですが、現在 MairaDB を利用している企業は、通信事業者の「NOKIA」や電子機器メーカーの「SAMSUNG」などがあげられます。
「MySQL」よりも実行速度が高速でセキュリティが強固、かつ不具合が起きにくいので、今後開発されるシステムは MairaDB の導入が期待されています。
MySQL は MariaDB と同じくオープンソースですが商用ライセンスも選択できるデュアルライセンスという方式を採用しています。自分たちで使う分には無料ですが、商品として売るのであればライセンス料を払う必要があります。
1995 年にリリースされ、世界でもっとも普及しているデータベースです。Web サイト管理システムの wordpress も MySQL を使用しています。また、YouTube やネットフリックスのようなサービスも MySQL がデータ処理をしています。サポートが厚いことから官房庁でも用いられています

MySQLのメリット

・柔軟性が高い


Mac や Windows など OS に関係なく使うことができます。なのでほとんどの OSで使うことができるので MySQL を動かしたり、学んだりする環境を構築しやすいです。


・信頼性が高い


MySQL にはデータが破損した場合でもデータを守る機能がとても豊富にあるため、信頼性が高いです。24 時間体制の稼働のために、リカバリー機能やバックアップ機能が備わっています。


・強力なセキュリティ


MySQL には接続可能な IP アドレスを指定することでデータベースへのアクセスを制御する機能や暗号化することで安全な通信ができる「SSH」や「SSL」といった暗号化技術などの、データを保護するための機能が備わっているため、データの漏洩や不正なデータ操作のリスクが低いです。


・高性能


MySQL は独自の「ストレージエンジン」を採用しています。

ストレージエンジンとは、データベースの作成、更新、削除といったデータの読み書きを行う機能のことです。ストレージエンジンは種類によって機能や処理速度が異なりますが、MySQL のストレージエンジンにはさまざまな種類があり、用途に合わせてデータベースのなかにあるテーブルごとに切り替えることができるため、性能をあげることができます。


・トランザクション

トランザクションとは、データベースにおいて、処理の一貫性を持たせるために、複数の処理を1連の処理として実行して管理する仕組みです。トランザクションを活用することで、中途半端な状態でデータが更新されることがなくなります。分散環境で発生する可能性のある問題に対して、トランザクションの機能があることで迅速に対応ができます。

MySQLを学習するメリットは?

MySQLを学習することで、以下のようなメリットがあります。

Webアプリ開発がしやすくなる

Webアプリの開発では、ほとんどがデータベース管理システムを使っています。MySQLを学習することでデータベースとの連携やデータの操作方法などの理解ができやすくなるため、Webアプリの開発がしやすくなります。

一部の企業でのサービス、またその他の実践で役立つ

実際のサービスや仕事でMySQLは多く利用されています。

企業において、サーバー構築を行う際は、構築費用が安いことから「LAMP環境」が採用されることが多いです。LAMP環境は「Linux」+「Apache」+「MySQL」「PHP(またはRuby)」の組み合わせで成り立っています。そこで、MySQLを学習を行い知識があることで仕事の獲得にもつながりやすくなります。

MySQLインストールの流れ

この記事では MySQL インストールの流れをご紹介していきます。


① 下記リンクにアクセスし、インストーラをインストールしてください。
https://dev.mysql.com/downloads/installer/
② ダウンロードするバージョンを選択してください。(特に指定がない場合は、最新バ
ージョンを選択してください。)
③ ログインを求められますが、画面左下の「No thanks, just start my download.」を
クリックすればダウンロードできます。
④ ダウンロードした「mysql-installer-web-community-8.0.16.0.msi」(ファイル名はダウンロード
したバージョンにより異なる)ファイルを実行します。
⑤ ライセンス画面が表示されたら、チェックボックスにチェックし「Next」を押しま
す。
⑥ セットアップの方法を選択します。デフォルトは「Developer Default」になっていま
すが、使わない物もインストールされてしまうので、今回は「Custom」を選択し
「Next」を押下します。
⑦ 必要な内容を選択し、「Next」を押してください。
⑧ インストールする内容に間違いがないことを確認し、「Execute」を押してインストールを開始し
てください。インストールが完了したら「Next」を押してください。
⑨ 製品構成画面が表示されたら、「Next」を押してください。
⑩ 単独での利用なら「Standalone MySQL Server」を選択し「Next」を押します。
⑪ コンフィギュレーションタイプとネットワーク設定に変更があれば、変更してくださ
い。
⑫ 認証方式を選択して「Next」を押します。
⑬ Root アカウントのパスワードを入力して「Next」を押下します。
⑭ MySQL を Windows のサービスとして動かすかどうかの設定画面が表示されます。
Windows を使う場合は、サービスとして動作させるので、特に変更せずに「Next」を
押します。
⑮ 最終確認画面が表示されるので、問題なければ「Execute」を押します。
⑯ 完了したら「Finish」を押します。
⑰ 再び製品構成画面が表示されるので「Next」を押します。
⑱ 「Finish」を押下するとインストールが完了します

MySQLのインストールがうまくいかない時の対処法

MySQLをWindowsやLinux・MacOSへインストールするには、管理者権限のアカウントである必要があります。一般の権限の場合は、PATH環境変数の編集などを行う際にエラーが発生することがあります。インストール後は、役割の付与を各ユーザーに対して設定を行えるため、少なくともインストール時は管理者権限で操作を行うようにしましょう。

インストール時のトラブルシューティング方法やインストール後のセットアップ作業の詳細はMySQL公式サイトから出ている以下をご確認ください。


MySQLの使い方・操作方法

MySQLの使い方をご紹介します。
基本的にMac・Windows ともに同じコマンドで操作ができます。また、MySQL の書式は基本的に大文字で表記しますが、小文字でも問題なく動きます。
絶対に忘れてはいけないのは、すべてのコマンドは末尾に「;」が必要なことです。


① サーバーへのログイン方法


Windows であれば、「コマンドプロント」、Mac なら「Terminal」を使用してください。“mysql-u root-p”と入力するとパスワードを変更するように言われるため、インストールして時のパスワードを入力し、ログインしてください。


② データベースの作成


“create database(任意のデータベース名);”を入力することで、新規のデータベースが作成できます。また、“show databases;”のコマンドで、どのようなMySQL のデータベースがあるか確認できます。


③ データベースの削除


“drop database(削除したいデータベース名)”のコマンドを入力してください。


④ 使用するデータベースの変更


“use database(使用したいデータベース名)”のコマンドを入力してください。


⑤ テーブルの作成


テーブルを作成する際はCREATE TABLE 文を使用します。テーブルにデータを新規作成
する際は“insert into(データベース名) values((フィールド名);(データ型)’)”を入力してください。また、“show table;”のコマンドで、テーブルの一覧を確認できます。


⑥ テーブルの削除


“DROP TABLE [テーブル名]”のコマンドを入力してください。


⑦ データの編集


データの新規作成・確認・修正・削除ができます。データの新規登録は“insert into(データベース名) values((フィールド名),’(データ型)’);”のコマンドを入力してください。この場合、データベースに指定のフィールド名、データ型が登録されます。
格納されているデータを確認する場合は“select*from(データベース名)”というコマンドを入力してください。
データ修正を行う場合は“update(データベース名)set name=’(データ型)’wherenum=(フィールド名);”というコマンドを入力してください。データ削除を行う場合は“delete from(データベース名)where num=(フィールド名);”というコマンドを入力してください。


⑧ データの取得


“select(値)from(データベース名);”というコマンドを入力してください。
たとえば、“school”というテーブルから“name”と“students”という値を出したい場合は“select name,students from school”と入力します。
全てのデータを取り出す場合は値のところに“*”を入力してください。


⑨ データの更新


“update items set price=55000 where id=1;”のコマンドを入力してください。


⑩ ログアウトの方法


ログアウトを行う場合は“exit”のコマンドを入力してください。


⑪ MySQL の停止


最後に“brew services stop mysql@5.7”というコマンドを入力してMySQL を停止させてください。
基本的なMySQL のコマンドでした。
もっと慣れてきたら、もう少し複雑なコマンドに挑戦してみてもいいかもしれないですね!

~うまくいかなかったときのチェックリスト~
・コードがちゃんと貼り付けられてない
・入力したファイル名やコードに誤字脱字がある。
・ファイルが正常に保存されていない。
・指定している箇所にフォルダーが配置されていない。
・コマンドの内容や実行している場所が異なる。

MySQLでよく使用されるコマンド

MySQLで使用頻度の高いコマンドを紹介します。


ヘルプ


MySQLでhelpと入力すると、使えるコマンド一覧が表示されます。まだ使い慣れていないうちは、このコマンドは便利です。


mysql > help

mysql > \h


ユーザー追加

mysql > create user `testuser`@`localhost` IDENTIFIED BY 'password';


ユーザを追加する場合は、上記のコマンドを使用しましょう。

また、こちらのコマンドは追加のみなので、ユーザーに対して、DB操作権限を付与するコマンドを次に実行しましょう。


mysql > grant all privileges on test_db.* to testuser@localhost IDENTIFIED BY 'password';


ユーザー一覧の確認

ユーザ一覧を確認する場合は、下記コマンドを実行しましょう。


SELECT * FROM mysql.user


バージョンの確認

MySQLのバージョンを確認したい場合は、以下のコマンドを実行しましょう。データベースに接続する必要なく確認ができます。

mysql --version

開発言語を学ぶならデジタルハリウッド専門スクール

デジタルハリウッド専門スクールでは、開発言語のみを学べる講座やコースのご用意は現在ございません。

Web制作を未経験から学び、Web業界へ就職・転職が目指せるスキルを身につけることのできるWebデザイナー専攻というコースがございます。Web制作に関する言語やデザインについて学ぶことができます。

MySQLはWeb制作の仕事をしていくのであれば、身につけておきたい言語のひとつです。デジタルハリウッドの関連スクールには、ジーズアカデミーというエンジニア養成学校(スクール)もございます。

ジーズアカデミー https://gsacademy.jp/

学びたい分野にあわせてスクールやコースのご案内も可能です。気になる方は一度、スクールにお問い合わせくださいませ。

まとめ

MySQL は1つの動作に対して1 行で命令を出します。そのため実行したい操作さえ把握していればコードを書くことは初心者でもそんなに難しくありません。ただ、データをどう扱ったら、自分の希望通りに結果が作成できるのかという思考の部分が難しいかもしれません。
はじめは難しく感じるかもしれませんが、数をこなせば習得することができるので、
苦手意識はできるだけなくし、根気強く取り組んでみてください。

関連ワード

著者:デジタルハリウッド スクール 編集部