1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

Cloud9で学ぶ!MySQLを使ってデータベースを動かす方法

Pocket

前記事では、ユーザに入力させたデータをWeb上に表示させる機能まで作成しました。
次はデータベースに保存する機能を作成したいところなのですが、データベースの基本的な部分を知っておいた方がスムーズに進みます。いったんPHPは脇に置き、データベースについて簡単な命令が作成できるようにしましょう。

もちろん開発環境は不要です。すべてCloud9で学習できます。
あくまで自分の手でデータベースを動かしてみることが目的です。そのため、SQLの詳しい説明は他のページを参照してもらうことになりますがご容赦ください。

データベースとは

そもそもデータベースって何?

データベースとは、データの集合体です。種類は多くありますが、現在はリレーショナルデータベースが主流です。
リレーショナルデータベースでは、データ要素を横に項目名、縦にデータ数でデータを表現し、テーマごとに分割して格納します。エクセルのような二次元形式の表をイメージするとわかりやすいでしょう。格納される場所を「テーブル」と呼びます。
テーブルは機能ごとに分かれる場合が多く、例えばECサイトでは「商品」テーブル、「会員」テーブルなどを作成します。

データベースとWebサイトとの関係

データベースをWebに接続すると、以下のことができるようになります。
・データベースに登録された商品一覧を、Webサイトに表示させる
・ユーザが登録した会員情報を、データベースに登録する

Webサイトで一時的に情報を保持しておくことは可能ですが、ブラウザを落とすと消えてしまいます。大量の情報はどこかに格納されるべき箱が必要であり、それがデータベースです。

データベースの種類

OracleやPostgre、個人向けではACCESSなど様々な種類があります。今回は、オープンソースで無償で取得でき、また実際のWebサイトでも多く使用されているMySQLを使って解説します。

ちなみに「Linux」(OS)+「Apache」(Webサーバ)+「MySQL」(データベース)+「PHP」(言語)の組み合わせを「LAMP環境」と呼びます。

Cloud9でデータベースを使用する

開始と終了

Cloud9でデータベースは既に入っています。

開始

ターミナル上で以下のコマンドを入力し、Cloud9のMySQLを立ち上げます。

以下のコマンドでMySQLの操作ができるようになります。

終了

以下でMySQLの操作モードを抜けられます

ターミナル上で以下のコマンドを入力し、Cloud9のMySQLを終了します。

データベースの確認

MySQLは複数のデータベースを同時に持つことができます。
以下のコマンドで、入っているデータベースを確認します。

結果

+——————–+
| Database |
+——————–+
| information_schema |
| c9 |
| mysql |
| performance_schema |
| phpmyadmin |
+——————–+
6 rows in set (0.00 sec)

以下のコマンドを使用すれば、現在接続できるユーザ名・パスワードがわかります。
後の接続で使用するので確認しておきましょう。

SELECT文では指定した項目の値を取得します。 mysqlがデータベース名、userがテーブル名です。

結果(一部)

+————–+——————+——————————————-+
| HOST | User | Password |
+————–+——————+——————————————-+
| localhost | root | |
| dfc2eabdf236 | root | |
| 127.0.0.1 | root | |

新しくデータベースを作成する

新しくデータベースを作成します。
myappの部分は好きなデータベース名を入れてください。

useコマンドを使用してデータベースを切り替えます。

データベースを操作する

作成したデータベース「myapp」の中に、新規でテーブルを作ります。

テーブルの中のデータを選択するには、SELECT文を使用します。
use文でデータベース「myapp」を選択しているため今回fromの後はテーブル名のみで実行できます。

当然、何もデータがないため、「Empty set」と表示されます。

テーブルの中にデータを挿入するには、INSERT文を使用します。
mysql> insert into test values(1,programmingTest);

再度SELECT文を使用して、内容を確認してください。

あとがき

いかがでしたか?データベースを操作するコマンド「SQL」は慣れが必要です。Cloud9でばちばち練習しながら、SQLをあなたの武器にしていってください。

Webフォームとの連携は次の機会に書いていきたいと思います。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る