MAMPでDB環境構築、テーブル作成、データ抽出などを行う手順

SQL

こんにちは、Reactエンジニアのかしむらです。

この記事では

・DBやSQLを学習中の方
・DBの環境構築手順を知りたい方
・DBやSQLの基礎知識を得たい方

という方へ向けて

「MAMPを使用した『DB環境構築』『テーブル作成』『データ抽出』などデータベース操作を一通りおこなう方法」を解説します。

SQL実行環境やを構築する際はぜひ参考にしながら同じようにやってみてください。

そもそもDBとは?SQLとは?

データとは?

例えば、データベースではこのようなデータを扱います。SQLはこのようなデータを抽出したり、テーブルへデータを登録したり、データを削除したりを行うことができる言語です。

  • 顧客情報 → お客さんの情報。年齢、住所、職業など
  • 商品情報 → 商品一つ一つの情報。商品コード、商品名、価格、商品画像など
  • 売上情報 → このお店でこの商品は何個売れたか、何時に売れたか、など

DB(データベース)とは?

データを集めて整理しておくことができる、表のイメージのようなものです。エンジニアは略して「DB」と呼んでいる人がほとんどです。

SQLとは?

SQLとは、Structured Query Languageの略。データベースを操作することができる言語です。「非手続き型言語」と訳します。

SQLは「DML」「DDL」「DCL」と3つ種類があります。この記事ではテーブル作成やデータ抽出に必要なSQLだけを紹介します。

■DML(データ操作言語)

SELECT(データ抽出)、INSERT(データ登録)、UPDATE(データ更新)、DELETE(データ削除)などがあります。

■DDL(データ定義言語)

CREATE TABLE(テーブル作成)、ALTER TABLE(テーブル情報変更)、DROP TABLE(テーブル削除)などがあります。

■DCL(データ制御言語)

GRANT(権限付与)、COMMIT(コミット)、ROLLBACK(ロールバック)などがあります。

DB環境構築をしよう

DBの実行環境構築には様々な方法があります。この記事では僕が比較的簡単だと感じた「MAMP」を使ったDB環境構築の手順を解説します。

MAMPをインストールする

Windowsの方は「XAMPP」をインストールしてください。MAMPとXAMPPは操作方法が多少異なりますが、できることはほぼ同じです。

1.公式サイトからダウンロードする

MAMPはWindowsと違って2種類あるので注意しましょう。「MAMP」と「MAMP Pro」がありますが、「MAMP Pro」は有料なので、無料版の「MAMP」をダウンロードしてください。

2.「Free Download」をクリックして「MAMP & MAMP PRO」をダウンロードする

3.ダウンロードされたインストーラを起動してインストールする

ダウンロードしたpkgファイルをダブルクリックしてインストールを実行します。

インストールが完了したら、「閉じる」クリックで完了となります。

MAMPを起動する

Windowsの方はXAMPPを起動してください。MAMPとXAMPPは操作方法が多少異なりますが、できることはほぼ同じです。

MAMPはWindowsと違って2種類あるので注意しましょう。「MAMP」と「MAMP Pro」がありますが、「MAMP Pro」は有料なので、無料版の「MAMP」を起動してください。

1.アプリケーション→「MAMP」をダブルクリックする

2.丸いグレーアイコンをクリックして起動する

3.右上の「Start」アイコンをクリックする

MAMPのコントロールパネルが起動したら、右上の「Start」アイコンをクリックします。

以下のように「Start」アイコンが「Stop」アイコンに切り替わればMAMPが起動したことになります。

これでDBに接続するための準備が完了しました。DB環境構築は完了です。

DB環境構築後にできること

準備としてターミナルからDB接続する

この記事では、ターミナルというツールを使用して、DBへ接続したり、SQLを実行したりする方法を解説します。

(1)ターミナルを起動します。Windowsの方はコマンドプロンプトでOKです。

ターミナルにコマンドを入力することで、「DB接続」や「SQL実行」はもちろん、普段マウス操作で行なっている「フォルダ作成」や「ファイルコピー」(Linuxコマンド)もマウスを使わずにできます!

(2)以下のコマンドを入力して「Enter」キーを押下します。

cd /Applications/MAMP/Library/bin/

【コマンドの意味】

cd = Change Directory

「/Applications/MAMP/Library/bin/」へディレクトリチェンジ

(3)MySQLのユーザー名とパスワードを入力して「Enter」キーを押下します。

  • ユーザー名:root
  • パスワード:root

ユーザ名:./mysql -u root -p
パスワード:root

※パスワードは表示されません

(4)このような表示になればMySQLへの接続が完了したことになります。

最後に表示されたテキストが「mysql>」ではなく「MariaDB>」となっていても問題ありません。
MariaDBは、MySQL派生のDB管理ソフトです。

データベースを作成する

1.データベースを作成する

データベース「db_Main」を作成する

create database db_Main default charset utf8;

SQL実行が成功すると「Query OK」と表示されます!

2.データベースを選択する

使用するデータベースに「db_Main」を選択する

use db_Main;

テーブルを作成する

1.テーブルを作成する

テーブル「member_info」を作成する
・テーブル「member_info」はメンバー情報を管理するテーブル
・カラムは「会員ID」「名前」「年齢」

`名前` varchar(40) NOT NULL,   `年齢` int(3) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

varchar型は「文字列」型、int型は「数値」型ということを宣言しています!

データを登録する

上記で作成したテーブルには、まだデータがありません。

■データを登録するSQL 「INSERT文」

INSERT INTO [テーブル名] ( カラム1, カラム2, … ) VALUES ( 値1, 値2, … );

例えば、次のデータを「member_info」というテーブルへ登録する場合はこのようなSQLになります。

データ

会員ID名前年齢
00005かしむら42
00002テストユーザ123
00003テストユーザ236

INSERT INTO member_info (会員ID, 名前, 年齢) VALUES ('00001', 'かしむら', 42);
INSERT INTO member_info (会員ID, 名前, 年齢) VALUES ('00002', 'テストユーザ1', 23);
INSERT INTO member_info (会員ID, 名前, 年齢) VALUES ('00003', 'テストユーザ2', 36);

上記でもいいのですが、INSERT文を3回実行することになってしまうので、まとめた方が良いです。

INSERT INTO member_info (会員ID, 名前, 年齢) VALUES
   ('00001', 'かしむら', 42),
   ('00002', 'テストユーザ1', 23),
   ('00003', 'テストユーザ2', 36);

上記SQLを実行するとデータを登録することができます。

ここまで、3−1で「データベースを作成」して、3−2で「テーブルを作成」して、3−3でテーブルに「データを登録」しました。3−4ではデータをターミナル上に表示させてみます。

データを抽出する

上記で登録したデータを表示してみましょう。

■データを抽出するSQL 「SELECT文」

SELECT カラム1, カラム2, … FROM [テーブル名];

テーブル「member_info」の全データ・全カラムを取得するSQLはこちらです。

SELECT * FROM member_info;

抽出結果

次は抽出条件を指定する方法を解説します。

■データを抽出するSQL 「SELECT文」

SELECT カラム1, カラム2, …
FROM [テーブル名]
WHERE [抽出条件];

テーブル「member_info」のデータのうち、「年齢が30以上」を満たすデータのカラム「名前」を抽出するSQLはこちらです。

SELECT 名前 FROM member_info WHERE 年齢 >= 30;

抽出結果

MAMPを使用すると簡単にDB接続を行ない、テーブル作成やデータ抽出ができることを知っていただけたと思います!

作業終了後は以下を忘れずに行ないましょう!

  • ターミナルに「exit」もしくは「quit」と入力し、Enterキー押下
  • MAMPの電源アイコンをOFFにする(Stop→SrartとなればOK)

コメント

タイトルとURLをコピーしました