archive

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


ここでは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文の基本的な書き方はこちらに別途まとめた。

[st-card myclass="" id=2456 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]

データを追加する

先ほどは「挿入」タブでデータを入力したが、次は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も追加されているのがわかる。

リレーショナルデータベースを作成する

リレーショナルデータベースの作成もできる。

リレーショナルデータベースの説明についてはこちら。

[st-card myclass="" id=2410 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]

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

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