MySQL入門第1歩|真似してMySQLの基礎を学習、インストールから文法まで解説

MySQL入門第1歩|真似してMySQLの基礎を学習、インストールから文法まで解説
プログラミングを学習している方であれば「MySQL」という言葉をよく耳にするのではないでしょうか。この記事では、これからMySQLを学びたいと考えている方に向けて、一緒に真似しながらMySQLを学習できるよう簡単にMySQLの文法を解説していきます。最初のインストール方法や基本的な構文も解説していますので、ぜひ参考にしてみてください。

1.MySQLのインストール方法

MySQLを利用するにあたっての準備として、さっそくインストールしてみましょう。今回はWindowsへのインストール方法をご紹介します。

公式サイトでインストーラをダウンロードする

まずはMySQLの公式ダウンロードページにアクセスします。「Select Operating System」の中からMicrosoft Windowsを選択し、Go to Download Pageをクリックします。サイズが大きいモノと小さいモノ2つのインストーラーが表示されますが、今回はサイズが大きい方で解説していきます。

クリックするとダウンロードページに移動します。Oracle Web AccountへのLogin、もしくはSign Upが求められますが、いずれも必要ありません。「No thanks, just start my download.」をクリックするとダウンロードが始まります。

インストーラを起動してインストールする

ダウンロードできたらインストーラを起動して、インストールを開始します。

最初に「Choosing Set Up Type」と書かれた画面が出てきます。入門用にちょっと触ってみたいだけであれば、「Server only」を選択しましょう。

初期設定を行い、インストール完了

インストール中にさまざまな設定に関する選択肢が表示されますが、はじめて触る方であれば基本的にはデフォルトのまま進めて問題ありません。

まれに「Check Requirements」という画面が出て先に進めなくなることがあります。これは、MySQLをインストールするのに必要なモノを意味しています。この場合、「Execute」を押すと、必要なパッケージをインストールしてくれるので、先に進めるようになるはずです。

途中でパスワードを入力する画面が出てくるので、各自入力してください。当然ですが、パスワードはしっかり覚えておきましょう。最終的に「Finish」ボタンを押せば、インストールが完了します。

MySQLを起動する

インストールが完了したら、MySQLを起動してみましょう。

画面左下Windowsマークを右クリックし「コンピューターの管理」をクリック⇒コンピューターの管理ウィンドウ左側の「サービスとアプリケーション」をクリック、「サービス」をクリックして進んでいきます。

サービスの一覧が表示されますが、その中にある「MySQL●●(●●はバージョンを示す数字)」をクリック。プロパティを表示し、「開始」をクリックすればMySQLが起動します。

インストール時の設定によっては、Windowsの起動と共にMySQLが立ち上がります(スタートアップの種類が「自動」の場合)。手動で起動・終了の管理をしたい場合には、スタートアップの種類を「手動」に変更しておきましょう。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

2.【MySQLを一緒に実践】ハンバーガー店のメニュー表を作ろう

ここからは実際にMySQLを実際に学んでいきましょう。基礎的な構文を一緒に学んでいくために、ハンバーガー店のメニュー表を作る場合を例にとって進めていきます。
なおここからは、一緒にお持ちのパソコンの画面上で入力して手を動かしながら確認してください。プログラミングは読むだけだと決して定着しませんので、ご自身のパソコン上でも同じ画面が出ることを確認しながら進めてください。

(※この記事ではWindows版をもとに解説していきますので、MacやLinuxをご利用の方は随時挙動が異なる可能性もあります。)

【ステップ①】完成図を理解する

まずは最終的に作りたいメニュー表を見てみましょう。
今回の演習では、1000円のハンバーガー、300円のサラダ、100円のオレンジジュースがあるハンバーガー店のメニュー表を作ります。

id name price
1 hamburger 1000
2 salad 300
3 orangejuice 100

【ステップ②】データベースを作成する

MySQLを利用する際は、最初にデータベースを作成します。ここで言うデータベースとは、フォルダのようなものです。

作成する前に、あらかじめ入っているデータベースを確認します。以下を打ち込んでみてください。

show databases;

すると、画面に以下が表示されるはずです。
Database
--------------------------------------
infomation_schema
mysql
preformance_schema
sys

これらはあらかじめ入っているデータベースです。次に、例として「shop」というデータベースを新たに作成します。以下を入力してみてください。
create database shop;

すると以下のように表示されます。
Query OK, 1 row affected (0.02 sec)

これは、了解のメッセージです。これによって「shop」という名前のデータベースが作成されました。名前は任意で付けることが可能です。

もう一度
show databases;
を入力すると、先ほどのデータベースに加え、shopが加わっているはずです。

つづいて
use shop;
と入力してください。これは「これからshopを使うよ」というコマンドです。shopフォルダに移動するようなイメージです。
ステップ②の解説

ここでは、データベースを作成・表示する方法を紹介します。
「show database」は、データベース全体を表示する関数です。新たに追加・編集したりしたデータベースがある際は都度全体を確認するようにしましょう。

「create database shop」は、新しく今回のメニュー表を入れる用のデータベースを作るためのコマンドです。shop部分は任意の名前を入れてデータベース名を作ることができます。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

【ステップ③】テーブルを作成する

つづいてはテーブルを作成します。テーブルとは、実際にデータを格納するための入れ物のことです。まずは「items」というテーブルを作ってみます。下記を入力してみてください。

create table items (id int, name varchar(10), price int);

カッコ内のコマンドの意味としては「items」のテーブルは「id」「name」「price」という列を持っており、それぞれの列には整数(int)と文字列(varchar(10))と整数(int)が格納できるようになることを意味しています。
整数か文字列かは設計者が指定することになりますので、完成図をイメージしながら、その列に入る値を入れられるようにしましょう。なお、整数を指定した列に文字列が入ったり、文字列を指定した列に整数が入った場合はうまくデータ格納されないため、注意しておきましょう。

確認のため、以下を入力しましょう。 
show tables;

画面に以下が表示されるはずです。
Tables_in_shop
--------------------
items

これでテーブルが作られました。
ステップ③の解説

「create table」というコマンドでテーブルを作成できます。その後にテーブル名を入れて、任意のテーブルを作成します。

()内では、カラム名(列名)とそのデータ型を指定します。入れたい値によってデータ型は異なりますので、初めのこのタイミングでデータ型も指定します。
データ型とは一般的にその列にどんな種類のデータを入れるかを指定するルールのことです。データ型を決めることで、データベースは正しい形式のデータだけを受け取れるようになります。データ型にはさまざまな種類がありますので、それぞれ入れたい値によってデータ型を変えるようにしましょう。
 

<データ型の例>

データ型 実際のデータ例 使い道
int 123, -50, 1000 数量、価格、ID番号
varchar "apple", "John" 名前、商品名
date 2012-03-04 誕生日、日付情報
decimal 123.45, 0.01 金額、小数値
boolean true, false (1, 0) フラグ(有効/無効)
 

【ステップ④】メニューデータの送付

先ほど作ったテーブルにデータを挿入していきます。idに「1」を、nameに「hamburger」を、そしてpriceに「1000」というデータを入れるとすると、次のコマンドを入力します。

insert into items (id, name, price) VALUES (1, 'hamburger', 1000);

同様に以下を実施しましょう。
insert into items (id, name, price) VALUES (2, 'salad', 300);
insert into items (id, name, price) VALUES (3, 'orangejuice', 100);

これで3つのメニューのデータが挿入されました。
ステップ④の解説

「insert into テーブル名() VALUES()」で任意のテーブルに情報を追加できます。
最初の()内には何の値を入れたいのかを示すカラム名を指定します。その後、VALUESというコマンドを入れて実際に入れたい値を入れます。
ここでは、ハンバーガー店のメニューを追加している様子を確認してください。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

【ステップ⑤】データの抽出

次にテーブルに格納されているデータを見てみます。下記を入力しましょう。 

select * from items;

これは「itemsテーブルに格納されているデータ全てを抽出して」という意味です。
id | name | price
-------------------------------
1 | hamburger | 1000
2 | salad | 300
3 | orangejuice | 100
と表示されたかと思います。

【番外編】データの更新・削除

続いて、データの更新や削除についても学んでおきましょう。

例えば、サラダのメニューを値下げして200円に変更するとします。その場合、「items」テーブル内にある「id」が「2」のデータについて、「price」を200に更新すると指示します。

update items set price=200 where id=2;

また、仕入れ値の高騰によってオレンジジュースの取り扱いを廃止することになったとしましょう。その場合はid3のメニューを削除することになるので、以下のように打ち込みます。
delete from items where id=3;

これで「items」テーブルから、「id」が3のデータが削除されます。

なお、上記のデータが問題なく更新されているかをチェックするため、以下を実行しましょう。 
select * from items;

先ほど更新したようにデータが更新されているはずです。
番外編の解説

データの更新と削除もよく使うコマンドになります。
「update テーブル名 set」で今入っているデータを更新するコマンドを入力できます。なおこの際、最初に指定したデータ型以外の種類のデータが入ってしまうと、エラーを起こすので注意しておきましょう。

また、「delete from テーブル名」で任意の業を削除することができますので、同じように確認しておいてください。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

3.MySQL入門で知っておきたい構文・文法

ここでは、上で紹介したもの以外の文法や構文を紹介します。ここで挙げる構文を理解できれば一通りMySQLは入門したと言えますので、手を動かしながら確認してみてください。

カラムの検索

MySQLでテーブル内のデータを確認するには、SELECT文を使用します。この構文を使うと、指定したテーブルのデータを簡単に取得できます。

SELECT * FROM テーブル名;

なお、任意のカラムの値だけを取りたい場合は、以下のように指定してデータを取得することも可能です。
SELECT id, name FROM テーブル名;

こうすると、idとnameカラムのみの値を出力します。

条件を指定して検索する

特定の条件に一致するデータだけを取得するには、WHERE句を使用します。これにより、必要なデータを効率よく絞り込めます。

SELSELECT カラム名 FROM テーブル名 WHERE 条件;

例えば、itemsテーブルから価格(priceカラム)が1000円以上のアイテムを出力したい場合は、  
SELECT * FROM items WHERE price >= 1000;

と記載します。なお、where以下の条件には=(等しい)、!=(等しくない)、>(より大きい)、>=(以上)といったパターンがありますので、それぞれ使えるようにしておきましょう。

並べ替え

データを昇順や降順で並べ替えるには、ORDER BY句を使用します。これにより、見やすい形式でデータを表示することができます。

SELECT 列名 FROM テーブル名 ORDER BY 列名 並べ替えの順序;

並べ替えの順序は、「ASC: 昇順(デフォルト)」「DESC: 降順」の2通りがあります。例えば、itemsテーブルのデータを価格の安い順に並べ替える場合は、
SELECT * FROM items ORDER BY price ASC;

と表示します。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

4.MySQL入門者が覚えておきたい用語

続いて、MySQL入門者が覚えておくと役立つ用語について解説していきます。

テーブル

テーブルはデータを格納するための容器です。エクセルの表のようなイメージです。「過不足なくテーブルを作れるか」が、データベース設計のカギを握っています。

カラム

カラムは列のことです。データベースでは、「カラムに何が入るのか」「どんな形式で入るのか」を明確に定義します。例えば「年齢」というカラムであれば、整数のみを受け付けるようにしますし、「住所」というカラムであれば、文字列を入力できるようにするはずです。

整数で定義されたカラムに文字列を入力しようとすると当然ながらエラーとなります。

レコード

レコードはテーブルに記録されたデータ1行分のことです。会員情報を登録するテーブルであれば、「会員番号」「名前」などが登録されているはずです。

データ型

データ型には整数や文字列、日付や時刻などがあります。入力できるデータ型を明確にしておくことで、間違ったデータが入力されるのを防ぎます。

RDB

リレーショナルデータベースの略です。RDBではエクセルの表のようなテーブルを複数つくり、データの管理を行います。

ネットショップであれば、「ユーザー」「商品」「購入履歴」といったテーブルが用意されるはずです。会員登録をすると、ユーザーテーブルに登録されます。ユーザーが何かを購入すると、商品テーブルの情報と組み合わせて購入履歴テーブルに登録されます。

このように、各テーブルが関係(リレーション)を持っていることから、リレーショナルデータベース(RDB)と呼ばれます。

クエリ

データベースに対する命令を「クエリ」と呼びます。前章でみたselectやupdateなどがクエリにあたります。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

5.MySQLのおすすめの学習方法

これからMySQLを習得したい方に、おすすめの学習方法を紹介します。

書籍で学ぶ

書籍を購入して体系的に学ぶのが、初心者の方が実践しやすい方法の一つでしょう。

インターネットでもMySQLに関するさまざまな情報が手に入りますが、体系的に学ぶには本の方がおすすめです。まずは「MySQL入門」といったタイトルの薄めの入門書を1冊こなしてみましょう。

挫折しないためにも、初めは薄めの読みやすい本で学ぶことがおすすめ。MySQLのイメージがつかめるはずです。

Web上の学習サイトを活用する

「本だけだとなかなか勉強が進まない…」という方は、各種学習サイトの利用もおすすめです。入門者にありがちなつまずきポイントなどについても詳しく解説しているため、ひとりで黙々と学習するよりも挫折しにくいでしょう。なかでも環境構築が不要な「Progate」は初心者でもわかりやすい学習サイトです。

プログラミングスクールに通う

独学で学ぶのはハードルが低い、もしくは過去に挫折したことがあるという方であれば、プログラミングスクールに通って学ぶのもおすすめです。

プログラミングスクールであれば、基礎から体系的に学ぶことができ、分からないところがあればその都度講師の方に質問することもできます。もちろん独学で学ぶことに比べて費用はかかりますが、挫折することなく確実にスキルを身に着けたいのであれば、ぜひスクールも検討してみてください。

プログラミングスクールを選ぶ際は、MySQLだけでなく、LAMPなど関連する分野も学べるところを選ぶとより効率的にスキルを身に着けることができます。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

6.学生向け|MySQLができると就活に有利?

学生でプログラミングを勉強している方であれば、「MySQLって就活に役立つの?」ということも気になるかもしれません。

MySQLは多くの企業で使われているため、MySQLが使える人材は非常に重宝されます。しかし、新卒採用の場合は「コミュニケーション能力」や「仕事に対する意欲」といった技術面以外の部分も含めた、総合的な人物像で判断することが一般的です。

MySQLのスキルは就活でのアピールポイントにはなりますが、MySQLができるからといって内定に直接結びつくわけではないことを理解しておきましょう。

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

\15年超の実績を持つレバテックが運営/

ITエンジニア就活支援サービスに登録する

7.まとめ

ここまで、MySQLの入門編として特徴や基本的な使い方についてご紹介してきました。MySQLは世界中のWebアプリケーションやITシステムで利用されるデータベース管理システムですので、基本的な知識を身に着けておくことでさまざまな場面で役立てることができるでしょう。

これからMySQLを勉強しようと考えている方は、まずは書籍で体系的に学び、Webサイトで実際に操作してみるのがおすすめです。また、独学はハードルが高いと感じる方はプログラミングスクールに通うことも検討してみてはいかがでしょうか。

ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー

レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。

就活アドバイザーに相談してみる

レバテックカレッジ 就活まで支援するエンジニア志望学生のためのプログラミングスクール