データベースという存在

今や会員登録ができるWebサービスは世間一般的なものとなりました。

SNSはもちろん、動画共有サービスはもちろん、様々な通販サイトやクレジットカードの利用明細をチェックできるサービスまで登場しています。

基本的にこういった会員情報は「データベース」によって運用されています。

普段は全く意識することはないかと思いますが、データベースはもはや日本・世界を影から支えている存在といえるでしょう。


MySQLに注目

今回はその「データベース」の中でも最も知名度が高いといっても過言ではない「MySQL」に注目していきます。

MySQLはRDBMS(Relational Database Management System)と呼ばれるリレーショナルデータベース管理システムです。

初心者の方を対象に、環境構築から使い方、よく使われるコマンドなどまで徹底的に解説していきます。

MySQLについて知識を深めれば、データベースエンジニアという仕事についての理解を深めることに繋げられるでしょう。


様々なシーンで愛用されるMySQL

MySQLは、非常に様々なシーンで実使用されています。

大手企業が採用している事例も少なくなく、データベースとして非常に高い人気を得ているということです。

そして、MySQLは無料で使用することが可能。

そのため、これからデータベースについて勉強したいと考えている方に強くおすすめができます。

こういった背景もあって、世界的に超有名なRDBMSとなったのかもしれません。

最初に勉強するデータベース管理システムとして適切なRDBMSといえます。


MySQLの使い方

それでは、早速ですがMySQLの使い方に注目していきましょう。

最初に勉強するデータベース管理システムとして適切とお伝えしましたが、MySQLは実業務でも採用されているRDBMSです。

入門向けという性質を持ってこそいますが、MySQLでも仕事に繋げることは十分に想定できるといえます。

しっかりと使い方やサーバーへの接続方法などをチェックしていきましょう。


MySQLの環境構築手順

MySQLを利用するためには、まずは実行環境を構築していく必要があります。

とはいえ、さほど難しい操作ではありません。

ダウンロードからサーバーへの接続方法まで、手順を追って解説いたします。


ダウンロードは「Community Edition 」

最初に行うべきはMySQLの「ダウンロード」です。

日本語の公式サイトが用意されているので、こちらのページでMySQLのダウンロードを行いましょう。

MySQL 日本語版公式サイト

画面上部に「ダウンロード」という文字がありますので、クリックしてダウンロードページを開きましょう。

ここで注意したいのが、MySQLのエディションについて。

MySQLには有償版「MySQL Enterprise Edition」と無償版「MySQL Community Edition」の2種類があります。

有償版ではなく、無償版を選択するように注意してください。

無償版である「MySQL Community Edition」は、ダウンロードページの画面最下部に配置されているのでクリック。

「MySQL Community Downloads」というページに飛ぶので「MySQL Community Server」をダウンロードしてください。

OSなど自分の利用している環境に合わせてダウンロードを行いましょう。


インストール方法

ダウンロードが完了したら、ファイルを実行してください。

利用規約に同意して次に進むと「セットアップ方法」を選択する画面が表示されます。

利用目的に応じて選択する必要がありますが、新たにMySQLを勉強したいと考えている方は標準で用意されている「Developer Default」という基本セットでいいでしょう。

「Check Requirements」という画面では満たせていない要件が表示されます。

必要なものがあれば、画面の表示に沿って適宜用意してください。

これで進めていけば、インストールが実行されます。

そのまま初期設定へと続いていきます。


初期設定方法

初期設定で最初に設定すべきなのが「Type and Networking」画面。

こちらでは「Development Machine」を選択してください。

そのまま進めていくと、rootユーザーのアカウント設定を行う必要があります。

パスワードを入力し、「Add User」ボタンをクリックし、自由にユーザー名を設定しましょう。

あとは画面の指示に従いながらそのまま進めていけば、初期設定は完了です。


Samples and Examplesの初期設定もする

これにて完了かと思いきや、立て続けに「Samples and Examples」の初期設定も行わなければなりません。

とはいえ、こちらは操作手順はあまりないのでご安心ください。

「Connect To Server」画面で「Check」ボタンを押せばMySQLサーバーへの接続テストが行えます。

この設定まで完了するとExecuteボタンが表示されるので、そちらをクリックして画面の指示に従えば間もなくインストール作業は終了です。

少しやることが多かったかもしれませんが、さほど難しい操作ではないため問題はないでしょう。


サーバーへの接続方法

さて、インストールおよびセットアップが完了したら、いよいよ実際にサーバーに接続して操作を行っていきます。

幾つか方法がありますが、今回はコマンドプロンプトを利用した接続方法を解説いたします。

まずは前準備としてパスを通すという作業を行わなければなりません。


環境変数の設定

パスを通す作業はコントロールパネルから「システム」、「システムの詳細設定」と進めていけば環境変数の設定画面を開けます。

ユーザー環境変数の「Path」を編集をクリックして「C:\Program Files\MySQL\MySQL Server 5.7\bin」(バックスラッシュ\は¥でも可)と入力してください。

これでパスを通す作業は完了です。


コマンドプロンプトで「mysql」コマンドを使う

環境変数の設定が完了したら、コマンドプロンプトを起動しましょう。

そこで「mysql -u root -p」とタイプしてEnterキーを押してください。

すると「Enter password:」と表示されるので、ここで初期設定の際に決定したパスワードを入力しましょう。

1つ注意したいのが、入力しても何も表示されないということ。

何を入力しても表示されませんが、内部ではしっかりと入力を受け付けているので問題ありません。

正しく入力できたらEnterキーを押せばログインができます。

これで、サーバーへの接続が完了となります。

ログアウトして接続をやめたい場合は「exit」か「quit」と入力してEnterを押せばログアウトできます。


よく使うコマンドを厳選して紹介

データベースの操作には非常に数多くのコマンドが存在しています。

ここからは、数あるコマンドの中からよく使うコマンドたちを厳選して紹介していきます。


データベース関連

まずデータベース関連のコマンド等です。

今存在しているデータベースを一覧表示するためにはこちらのコマンドを使用します。

  1. SHOW DATABASE;

一覧でデータベースたちを表示できるので、名前を忘れてしまった際などはこのコマンドで確認してもいいでしょう。

そしてデータベースを新たに追加する際はこちらのコマンドを使用します。

  1. CREATE DATABASE sample_db;

このコマンドを使用すれば「sample_db」というデータベースを追加できます。


データベースを削除する時はDROP

また、データベースを削除したい場合も基本的な構文は同じです。

  1. DROP DATABASE sample_db;

これで「sample_db」を削除できます。

どの文章も非常にシンプルですね。

最初の頃に勘違いされがちなのが、削除を「DELETE」と誤解するパターン。

削除する場合は「DROP」ですので、しっかり覚えておきましょう。

また、実際に使用するデータベースを選択するにはこちらのコマンドを入力します。

  1. USE sample_db;

これで、sample_dbが選択できました。

もちろん「sample_db」の部分を変更すれば、好きなデータベースを選択可能です。


テーブル関連

テーブルを表示するのは、データベースと同じ「SHOW」コマンドを利用します。

  1. SHOW TABLES;

ここまでは簡単ですが、実際にテーブルを作成するコマンドから、少しだけ難しくなってきます。

しかし、構文を覚えれば案外簡単です。

  1. CREATE TABLE (テーブル名) (
  2.   (フィールド名)(データ型)(オプション)
  3. );

2行目の「フィールド名・データ型・オプション」は、続けて3行目以降に追記ができます。

データ型はINTやVARCHARなど、フィールドに応じて適切なものを設定するよう注意しましょう。


データの格納

テーブルを作成したら、実際にデータを格納することができます。

例えば「user」というテーブルに「id」と「name」、「mail」というフィールドを以下の通り作成したとします。

  1. CREATE TABLE user (
  2. id int,
  3. name varcher(10),
  4. mail varchar(10)
  5. );

このテーブルにデータを格納する場合は、このように記述ができます。

  1. INSERT INTO user VALUES (
  2. 01,
  3. ‘Yamada’,
  4. ‘xxxx@xxxxmail.com’
  5. );

データ型がVARCHARの場合はシングルクォーテーション(’)で文字列を括る必要があるので注意してください。

2行目から順に、id、name、mailカラムへデータを格納しています。


SELECT文について

SELECT文を利用すれば、テーブルの中身をコマンドに応じて表示することができます。

非常に多岐に渡って細かい指定ができますが、今回は基本となる部分と頻繁に利用されるデータのソート出力コマンドを紹介します。


SELECT FROMでデータを出力する

例えば「sample_db」内にある「user」テーブル内に格納されているデータを見たい場合は、以下の通りです。

  1. SELECT * FROM user;

これで、userテーブルにある全てのカラムが出力されます。

仮に何か特定のカラム(例:idとname)が見たい場合は、このように指定も可能です。

  1. SELECT id, name FROM user;

SELECTの後に抽出したいカラム名をカンマ区切りで入力するだけで抽出できます。


データのソート表示も可能

また、抽出するデータを並び替え(ソート)して出力したい場合もあるでしょう。

その場合は「ORDER BY」を利用できます。

先ほどのuserテーブルに年齢を登録する「old」カラムがあったと仮定して考えてみましょう。

年齢の降順に出力したい場合は以下のようにコマンドを入力できます。

  1. SELECT * FROM user ORDER BY old DESC;

このように入力することで、年齢を基準に降順で出力できます。

そして、昇順の場合は以下の通りです。

  1. SELECT * FROM user ORDER BY old ASC;

これで年齢を基準に昇順でデータを出力できます。

しかし、昇順を指定する場合に入力する「ASC」は省略可能です。

つまり「ASC」を入力しない場合はデフォルトで「昇順で出力される」ということです。

そのため、基本的に入力する機会が多いのは「ORDER BY カラム名 DESC」になるかもしれません。


MySQLでDBエンジニアの基本を学べる

今回は「MySQL」について様々な角度から注目してきました。

特にダウンロードなど環境構築から基本コマンドと、基礎的な部分をチェックできたかと思います。

MySQLは、無償で利用できるデータベース管理システムです。

しかし、記事中で触れた通り企業が実際に業務活動などで使用・導入している事例も非常に多いRDBMSです。

そして、MySQLで学んだ知識は他のデータベースでも活かすことが可能です。

細かい部分などは異なれど、Oracle DBやMaria DBなどでも十分に蓄えた知識は活かせるでしょう。

つまり、MySQLを利用してデータベースについて様々な面から学習すれば、データベースエンジニアに関する業務を基礎から学べるということになります。


データベースに触れておくのは大切なこと

もちろん、今回解説したような基礎的な部分だけでは厳しい面も多々あるでしょう。

しかし、実際にデータベースに触れた経験は必ず役に立ちます。

データベースは、今のIT業界で開発するシステムなどで非常に重要な役割を占めている大切な部分です。

実際、MySQLエンジニアが募集されている案件なども存在しています。

データベースエンジニアをもし目指しているのであれば、まずはMySQLから勉強してみてはいかがでしょうか。