では、前回の続きをはじめていきます。
この項では、Webアプリケーションを作成するためにローカル上に開発環境を構築してくれる「XAMPP/MAMP」をダウンロードし「phpMyAdmin」から、SQL文を使ったデータベースの操作を試してみます。
目次
MySQL
前回のおさらい、「MySQL」とは?何か?
MySQLとは、Oracle社が開発・公開しているリレーショナルデータベース管理システム(RDBMS)の一つ。
ByGoogle
XAMPP/MAMPをインストールしてMySQLが使える開発環境を用意する。
まずは開発環境でPHPやApacheを触るために、「XAMPP(ザンプ)」もしくは「MAMP(マンプ)」をインストールしておいてください。Apache、MySQL、PHPなどの環境を簡単に用意できるため、デザイナーさんやエンジニアさんを中心に人気のアプリケーションです。
くわえて、記事も多いので困ったときにも調べやすいというメリットもあります。
使用しているOSがWindowsなら「XAMPP」。Macを使ってるなら「MAMP」というのが一般的です。
他に「Vagrant(ベイグラント)」で仮想環境を用意する方法もあります。
開発環境を用意したら、「phpMyAdmin」のページを開く
使用環境に合わせてソフトをインストールしたら、「XAMPP」または「MAMP」を起動し「phpMyAdmin」をひらいてみます。
phpMyAdminはPHPで実装されたMySQLの管理ツールです。 MySQLのデータベースやテーブルの作成を行ったり、データの追加や参照などをSQL文を作成することなくブラウザから行うことができます。
by Google
「phpMyAdmin」を使えば、比較的簡単にMySQLの管理が行えます。
例えば、「データベースの作成や削除」などはもちろん、データを「CSVやXMLなどにエクスポート」したり、「ユーザ・特権の管理」なども管理画面から操作することが出来ます。
データベースを操作するMySQLの「SQL文」について
では、SQL文を触りながらデータベースを操作していきます。
まず一番最初は、「SQL文(構文について)」の簡単な説明から
SQL(エスキューエル)は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)である。エドガー・F・コッドによって考案された関係データベースの関係モデルにおける演算体系である、関係代数と関係論理(関係計算)にある程度基づいている。
by Wikipedia
例えば、前回説明した「CRUD(クラッド)(Create(生成)、Read(読み取り)、Update(更新)、Delete(削除))」をSQL文で表すと…
データを追加するINSERT文
INSERT INTO テーブル名
(列名1,列名2,……)
VALUES
(値1,値2,……)
データの取得を行うSELECT文
#SELECT命令文で全レコードを選択
SELECT * FROM テーブル名;
#表示するフィールド名を指定
SELECT フィールド名 FROM テーブル名;
#複数フィールドの指定
SELECT フィールド名1, フィールド名2
FROM テーブル名;
データの更新を行うUPDATE文
UPDATE テーブル名
SET 列名1=値1,列名2=値2,……
WHERE 検索条件
データの削除を行うDELETE文
DELETE FROM テーブル名
WHERE 検索条件
このように入力すれば、それぞれの内容が実行されます。
ここまで覚えたら、あとは実際に動かして覚えた方が早いはず!
実際にSQL文を実行して、動きを見ながら説明していきたいと思います。
実際にMySQLでデータベースを作成する(超簡単)
「phpMyAdmin」から行う場合は、操作したいデータベースを選択した状態で、「SQL」のメニューを選択しSQLの実行画面に移動します。飛び先ページに入力箇所があるので、そこにSQL文を書きこんで「実行」を押せば処理が行われます。
前回記事でも登場した以下テーブルをデータベース上で作成していきます。
新しいテーブルなどを作成するので「CREATE」を使用します。
名前 | 年齢 | 血液型 | 出身 |
---|---|---|---|
稲本 | 22 | O | 大阪 |
森岡 | 26 | A | 横浜 |
松田 | 24 | A | 群馬 |
川口 | 26 | A | 静岡 |
まずは、「sample_db」というデータベースを作成し、その中に「member_table」というテーブルを作成しました。このテーブル中に「値」を入力していきます。
データベースの新規作成
CREATE DATABASE sample_db CHARACTER SET utf8 COLLATE utf8_general_ci;
テーブルの新規作成
CREATE TABLE `sample_db`.`member_table` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(20) NOT NULL ,
`age` INT NOT NULL ,
`blood` VARCHAR(20) NOT NULL ,
`place` VARCHAR(20) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
今度は、SQL文でMySQLにレコードや値を登録してみる(簡単)
では、実際にSQL文で使って、テーブルの中に値をいれてみます。
データの入力は「INSERT」を使います。
テーブルの中に値を挿入
INSERT INTO `member_table` (`id`, `name`, `age`, `blood`, `place`)
VALUES
(NULL, '稲本', '22', 'O', '大阪'),
(NULL, '森岡', '26', 'A', '横浜'),
(NULL, '松田', '24', 'A', '群馬'),
(NULL, '川口', '26', 'A', '静岡');
「実行」を押して、値が入ったのを確認する。
・
・
・
ちゃんと表示されましたね?
では最後に、簡単な検索と削除を行ってみます。
【お題】「年齢(age)」が「26」の「メンバー」は?
SELECT * FROM `member_table` WHERE `age` LIKE '26'
【お題】「出身」が「静岡」の「メンバー」を削除する
DELETE FROM `member_table` WHERE `place` LIKE '静岡'
「川口」さんをフィールドに復帰追加する
INSERT INTO `member_table`(`name`, `age`, `blood`, `place`)
VALUES ('川口', '26', 'A', '静岡')
これでデータベースとテーブルの新規作成から、値を編集するまでを行ってみました。次はこれをPHPで操作して簡単な「WEBツール」を開発してみます。
…つづく
余談
動きで見せた方が分かりやすと思って、GIFアニを使ってみたら、返って内容は見辛いですね。。。
操作のニュアンスを見てください。
先日「XAMPP」が「MySQL」から「MariaDB」への変更が発表されました。ということで、「XAMPP」の名前の由来も以下の文字から構成されてることに
X – Windows、Linux、Mac OS Xなどのクロスプラットフォーム
A – ApacheのA
M – MySQLまたはMariaDBのM
P – PHPのP
P – PerlのP
※ちなみに「MAMP」の名称は、「Mac OS + Apache + MySQL + PHP」の頭文字から形成されています。