phpMyAdminでのデータベースとMySQLの使い方

PHP

# # #

ここでは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文の書き方

続きを見る


データを追加する

先ほどは「挿入」タブでデータを入力したが、次は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]データベース・リレーショナルデータベースとは

続きを見る


リレーショナルデータベースの作成でどのような管理ができるのか?

今回の例では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の基本的な使い方は以上となる。

Related posts