MySQLとは?特徴から使い方・学習方法まで詳しく解説!
MySQL
MySQLとは?特徴から使い方・学習方法まで詳しく解説!
アンドエンジニア編集部
2021.09.23
この記事でわかること
MySQLはオープンソースソフトウェアのRDBMSとして広く使われています
MySQLはオープンソースソフトウェアのスタックであるLAMPの構成コンポーネントです
MySQLは増大するデータの管理を効率的に行うために今後も需要が見込まれます

MySQLとは?

MySQL

MySQLとは、1995年に登場したオープンソースのリレーショナルデータベース管理システム(RDBMS)です。MySQLの名前は、共同設立者の娘の名前Myデータベース操作言語であるSQLから名付けられました。

MySQLは商用RDBMSであるOracle Databaseに次いで2番目の人気を誇り、オープンソースRDBMSでは長い間No1ポジションを維持しています。 参考:DB-Engines Ranking of Relational DBMS

MySQLの特徴は?

MySQLは、GPL(GNU General Public License)に基づくオープンソースソフトウェアです。MySQLはサン・マイクロシステムズ社に買収されましたが、オープンソースソフトウェアの位置付けに違いがありません。

そのために、オープンソースのRDBMSを求める多くのユーザはMySQLを支持・選択しています。MySQLの公式サイトではMySQLの顧客として、YouTube・PayPal・Linked in・Facebook・Twitter・ebay・CISCO・verizon・Uber・TESLA・NETFLIX・GitHubが紹介されています。 参考:MySQL

オープンソースを選択するユーザは、オープンソースで全体のソフトウェアスタックを構成することが多く、代表的なソフトウェアスタックLAMPと言います。LAMPの構成ソフトウェアは以下の分類となります。LAMPで構成することで、より実績のある安定したシステム構築が可能です。 ・L:Linux(OS)A:Apach(ウェブサーバ)M:MySQL(データベース管理システム)P:Perl・PHP・Python(プログラム開発言語)

MySQLでできることは?

MySQLでできることは、RDBMSの利用が低コストで実現できることです。商用RDBMSはライセンス費用や運用保守費が一般的に高額になってしまいます。MySQLはオープンソースソフトウェアのため、安価にシステムを実装することができます。MySQLは小規模から大規模DBをカバーするため、適用範囲が広いことも特徴です。

また、LAMPのソフトウェアスタックのコンポーネントの1つのため、他のLAMPのコンポーネント親和性が高く、ウェブ系システムやデータ処理システムの構築が簡単にできます。同様に、希望のOSがLinux以外でもWindowsやMacOSでも動作するため、ニーズに合わせてシステム構築が可能です。

さらに、WordPressをはじめとするCMSではMySQLをDBMSの要件としているものがあります。ウェブコンテンツ管理ではMySQLを利用するのが良いでしょう。

SQLとは?MySQLとの違いは?

SQLは、リレーショナルデータベース管理システム(RDBMS)で用いられるデータベース操作言語です。データベース操作言語とはデータの操作や定義を行う言語を指します。データベースはいくつかのデータモデルがありますが、SQLはRDBMSで用いるデータベース操作言語です。

SQLとMySQLは言葉が近いですが意味が異なります。SQLデータベース操作言語であるのに対して、MySQLデータベースを管理する管理システム(RDBMS)を意味し、全く別物です。言葉と意味の違いを理解しておきましょう。

DBとは?

DBはデータベース(DataBase)の略です。DBとは、必要とされる情報を蓄積・検索する機能を有する情報(データ)の集まりです。DBは通常コンピュータシステムを用いて検索機能をシステム化したものを指します。

DBMSとは?

DBMSはデータベース管理システム(DataBase Management System)の略です。DBMSとは、データベースをコンピュータ実装する際に必要とされるDBの構築・管理・運用を行うソフトウェアを指します。

RDBMSとは?

RDBMSは、リレーショナルデータベース管理システム(Relational DataBase Management System)の略です。DBはいくつかのデータモデルが定義されています。現在データモデルの中で、RDBMSがDBMSの主流として用いられています。

RDBでは、データの項目を論理的にテーブル(表)・レコード(行)・カラム(列)で表示するモデルを採用しています。

MySQLと他のDBとの違いは?

MySQLはOracle Databaseの次に利用されており、オープンソースではNo1ポジションを維持しています。MySQLとOracle Databaseの違いですが、商用RDBMSであるOracle DatabaseとMySQLはともにオラクル社が提供しています。

違いを詳しく見ていくと、Oracle Databaseは企業向けRDBMSとして基幹業務での利用が多くなります。MySQLはオープンソースとして小規模から大規模システムまで対応します。手厚いサポートが必要な場合はOracle Databaseを選択し、自前で保守する場合はMySQLを選択する傾向があります。

その他にも、WindowsシステムではMicrosoft社のSQL Serverが人気があります。また、PostgreSQLはオープンソースソフトウェアでありながら、大規模システムで活用例が増えておりMySQLを追いかけている状況です。

MySQLのインストール方法は?

installation

MySQLは有償版と無償版があります。有償版をMySQL Enterprise Editionと言い、無償版をMySQL Community Editionと呼びます。まずは、無償版で色々と試してみましょう。

MySQLをダウンロードするには無償版をMySQL開発者サイトからモジュールをダウンロードし、インストールします。LinuxモジュールやWindowsインストーラから該当バージョンを選択し、ダウンロード・インストールします。 参考:MySQL Community Downloads

インストールはDeveloper Defaultを選択すると、あまり悩まずにインストールが完了します。MacOSの場合は、Homebrewというパッケージ管理システムを用いてMySQLをインストールすることで簡単にインストールが完了します。

インストール完了後は、初期設定としてrootユーザーのアカウント設定を行います。そこで必要なユーザ名とパスワードを設定します。

MySQLの使い方は?

MySQLの使い方はLinuxのシェルWindowsのコマンドプロンプト、またはMacOSのターミナルを用います。そこで”mysql -u root -p”コマンドを実行し、Enter password:の表示後に登録したパスワードを入力します。

終了は”exit”や”quit”を入力します。

MySQLのコマンドは?

MySQLのコマンドはDB操作のコマンドとなり、DB操作言語のSQLに従います。DBの作成はCREATE DATABASE、表示はSHOW DATABASESを用います。DBの削除はDROP DATABASEを用います。

次にテーブル(表)の作成はCREATE TABLE、表示はSHOW TABLESを用います。テーブルが作成できたらデータを格納します。データの格納はINSERTです。次にデータ参照はSELECTを、データ更新はUPDATEを用います。データの削除はDELETEで行います。

MySQLの学習方法は?

MySQLの情報は多岐に公開されています。まずは公式サイトのリファレンス情報を確認することをおすすめします。日本語翻訳された情報が確認できます。 参考:MySQL 8.0 リファレンスマニュアル

加えてMySQLのユーザ会にも多くの情報が掲載されています。日本語ドキュメント・参考書・FAQがカバーされています。 参考:日本MySQLユーザ会

MySQLの認定資格は?

MySQLの認定資格はオラクル社により実施されています。合わせて教育プログラムについてもオラクル社から提供されています。 参考:MySQL 認定資格

2021年9月現在、以下のMySQL認定試験が用意されています。 ・MySQL 2019 Implementation Essentials  MySQLの販売・実装を担当するスキルを想定しています。 ・MySQL 5.7 Database Administrator  MySQLの設定、運用、監視を担当するスキルを想定しています。 参考:Oracle Certified Professional, MySQL 2019 Certified Implementation Specialist 参考:Oracle Certified Professional, MySQL 5.7 Database Administrator

MySQLはオープンソースソフトウェアNo.1 RDBMSであるため、資格取得により活躍の場が広がるでしょう。

MySQLを理解し、オープンソースソフトウェアのスタック全体のスキルを蓄積しましょう

software stack

MySQLは、オープンソースソフトウェアのスタックであるLAMPを構成するRDBMSです。LAMPはウェブ系システムを中心に最も利用される最適な組み合わせのため、採用が増えています。

MySQLは蓄積データを効率的に検索するために用いるRDBMSのため、今後さらに重要性が高まるでしょう。MySQLが理解できたらLAMPを組み合わせて業務システムを構築し、さらに経験を高めることをおすすめします。

Twitterをフォローしよう!
この記事をシェア
Twitter
Facebook
LINE
Hatena
アンドエンジニアの公式LINEができました! ピッタリの記事や役立つ情報が届きます!

編集部オススメコンテンツ

eyecatch_visual_coder
Adobe製品を使わない"デザイナー"?「ビジュアルコーダー」が考える、自己満足で終わらないWebデザインとは
三角
2020.06.16

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
この記事をシェア
Twitter
Facebook
LINE
Hatena
アンドエンジニアの公式LINEができました! ピッタリの記事や役立つ情報が届きます!

編集部おすすめコンテンツ

アンドエンジニアへの取材依頼、情報提供などはこちらから