ここではphpMyAdminでのデータベースとMySQLの使い方について説明する。
phpMyAdminとは何か、説明するとともに、phpMyAdminのデータベースの作り方や、SQL文のINSERT, CREATEを使ったテーブルの作り方やデータの追加方法など、基本的な操作方法も説明していく。
phpMyAdminとは?
phpMyAdminとは、PHPで作られたMySQLの管理ツールで、ブラウザからMySQLのデータベースやテーブルの操作を行うことはできる。
通常はSQL文を書く必要があるが、phpMyAdmin上では、SQL文を書くことなくデータの追加、削除、検索など様々なことができる。
phpMyAdminで何ができる?
SQL文なしで、データベース、テーブル、カラムの作成、削除や、テーブル内のデータの挿入、検索、削除などができる。
ここでは基本的な操作方法を画像付きで説明する。
MAMPでphpMyAdminを用意する
まずはMAMPというアプリケーションを用意する。
MAMPとは「Macintosh」「Apache」「MySQL」「PHP」の頭文字をとったもので、起動するだけでMacにApache、MySQL、PHPの環境をインストールできる。
MAMPにはphpMyAdminも最初から入っているので今回はMAMPを使用する。
まずはMAMPを起動するとこのような下記のような画面になる。

phpMyAdminのリンクをクリックする。
すると下記のような画面になる。

これでphpMyAdminを使う用意は完了となる。
データベースを作成
実際にphpMyAdminでデータベースを作成する。
まずは名前を入れる。横の称号順序は日本語を使うときはutf8を選ぶ。

テーブル名とカラム数を作成
次にテーブルとカラムを作成していく。
今回は、山の情報を入れていくことにする。

作成したデータベースを選択し、「テーブルを作成」部分の名前とカラム数を選択する。

すると、名前とデータ型を設定する画面にうつる。
入れるであろうデータとそのデータ型を設定する。

するとmountain tableが作成されていることが確認できる。

テーブル作成後、実際に値を追加していく。
「挿入」タブを押し、各項目に合わせて値を入れて、実行ボタンを押す。

成功すると「一行挿入しました」とメッセージが出る。

表示タブに戻ると、入力した内容が確認できる。

mySQLを使用する
次はSQL文を使用して操作していく。
SQL文にはさまざまな書き方があるが、今回は基本的な部分の使い方だけ説明していく。
- INSERT文を使ったデータの追加
- SELECT文を使ったデータの表示
- CREATE文を使ったテーブルの追加
- WHEREを使った条件付き検索の方法
このSQL文の基本的なやり方だけ説明する。
ターミナルを使ったSQL文の基本的な書き方はこちらに別途まとめた。
-
-
[DB / MySQL] データベースを扱う基本SQL文一覧とSQL文の書き方
ここでは、データベースを操作するためのデータベース言語、SQL文の基本的な書き方と、SQL文の一覧について説明する。 基本的なSQL文「INSERT, SELECT, UPDATE, DELETE」の ...
続きを見る
データを追加する
先ほどは「挿入」タブでデータを入力したが、次はmySQLのINSERT文を使ってデータを挿入する。
値を入れていくには、下記のような式になる。
INSERT INTO 【テーブル名】 SET 【フィールド名1】=【値1】, 【フィールド名2】=【値2】, ・・・;
最初にID=1の山の情報を入れたので、次はID=2の山の情報を入れる。
INSERT INTO mountains SET ID=2, name='羅臼岳', region='北海道', height='1661';

成功すると、「表示タブ」部分で追加された表が確認できる。

さきほどの表の通り、ID=10までのデータを今回は追加した。

データの一覧を表示する
データの一覧を表示するには、下記のようなSELECT文を使用する。
SELECT * FROM 'mountains';

すると、全てのデータが表示される。

テーブルを新しく作成する
CREATE文で新しくテーブルを作成することができる。
今回は、別途登山者情報を入れるテーブルを作るとする。

CREATE文は下記のように設定する。
CREATE TABLE hikers (id INT, name TEXT, address TEXT, tel TEXT);

「表示タブ」をみると、ちゃんと作成されていることがわかる。

条件付きでデータ検索
WHEREを使うことで、条件付きで検索をすることができる。
例えばID=3のデータを検索したいときは下記のように書く。
SELECT * FROM mountains WHERE id = 3;
するとID=3のデータだけ表示されるようになる。

プライマリーキーの設定
指定したカラムにプライマリーキーを設定することで、データの重複がある時にエラーが起きるようにしてくれる。
データを重複させないことで、全てのデータの中から一つのデータを特定することが容易になる。
例えば下記のような名簿を管理する時、山田太郎という同姓同名の人が入ってくる可能性もある。
そんな時に登山者IDにプライマリーキーをつけて、必ずダブりが内容にすれば、個人を特定するのが楽になる。

プライマリーキーの設定方法
構造タブの中を開く。プライマリーキーを設定したい箇所の「その他」を押す。
「主」というのがあるのでそこを押す。

表の下の「インデックス」を開いて、IDカラムがPRIMARYという形で設定されていればOK。

これでIDは重複されないようになっている。
試しにテストしてみる。
先ほどと同じ通りINSERT文で追加する。ID=2はすでに埋まっているので、プライマリーキーがちゃんと設定されていると、挿入されない。
INSERT INTO mountains SET ID=2, name='谷川岳', region='上信越', height='1963';

実行すると、このようにエラーが出る。
オートインクリメント
オートインクリメントを設定すると、現在格納されている数値に自動的に+1して数値を格納してくれる。
先程のプライマリーキーのIDなどにオートインクリメントを設定することで、IDの番号を気にすることなく、データを追加していくことができる。
オートインクリメントの設定
まずは「構造」タブに移動し、指定したいカラムの部分の変更ボタンを押す。

A_Iの部分を押し、保存する。

これで自動的にIDは順番に加算されるようになった。
設定されると、AUTO_INCREMENTと表示される。

試しに、IDを入れずにINSERT文を使って、データを追加してみる。
INSERT INTO mountains SET name='谷川岳', region='上信越', height='1963';

すると自動的にIDも追加されているのがわかる。

リレーショナルデータベースを作成する
リレーショナルデータベースの作成もできる。
リレーショナルデータベースの説明についてはこちら。
-
-
[DB]データベース・リレーショナルデータベースとは
データベースとリレーショナルデータベースとは何か、なるべく初心者にも分かるようわかりやすく簡単に説明する。 また、DBMSとは何か、SQL文とは何かに関しても簡単に説明する。リレーショナルデータベース ...
続きを見る
リレーショナルデータベースの作成でどのような管理ができるのか?
今回の例ではhikersテーブルの登山者IDを、mountainsテーブルに入れることで、「誰がどの山に登ったのか」を表にして把握できるようにする。

設定方法
まずは先ほど作った別テーブルのhikersテーブルにもidにプライマリーキーとオートインクリメントを設定する。

hikersテーブルに登山者のデータを入れていく。

1つのカラムを選択。「IDの後へ」を選択して実行する。

名前とデータ型を決め、保存する。

するとmountainsテーブルに、hiker_IDができる。
ここは仮に、誰がどこに登ったかというIDを適当に入れていくとする。
最初はすべて0になっているが、数字をクリックすると編集できるようになっている。

これで設定は完了となる。
複数のテーブルを横断して検索
では実際にhikersテーブルとmountainsテーブルを横断して検索する。
hikersテーブルとmountainsテーブルで、hikersテーブルのIDと、mountainsテーブルのIDが同じデータを取得する。
SELECT * FROM hikers, mountains WHERE hikers.id=mountains.hiker_id
二つのテーブルが連結されて表示されることにより、「どの登山者が、どこの山に登ったか」という情報が分かる。

これでphpMyAdminの基本的な使い方は以上となる。