phpMyAdminを使う

データベース

XAMPPには、Webベースでmysqlを簡単に利用するためのツールが含まれています。

まず、XAMPP Control Panel を開き、ApacheおよびMySQLを起動します。『Apache』および『MySQL』の行の『Start』ボタンをクリックします。

『Apache』および『MySQL』が起動したら(文字が緑色になったら)、Webブラウザを開いて

404 Error - Not Found

にアクセスしてみましょう(ポートを80以外、たとえば8080にしている場合はhttp://localhost:8080/phpmyadmin)

または、XAMPP Control Panelの『MySQL』の行にある『Admin』ボタンをクリックしても起動出来ます。

データベースの作成

mysqlでは、1つのサーバーで複数の『データベース』を管理できます。
インストールした直後でもいくつかのデータベースが用意されていますが、本講義では専用のデータベースを作成してみます。

phpmyadminのメインページ(上記URLにアクセスした最初のページ、他のページからは左上の家の形のアイコンで移動)から『データベース』タブ(図の①)をクリックして、データベース作成ページを開きます。

入力欄にはデータベース名を入力、
照合順序③は utf8mb4_bin を選択して『作成』ボタンをクリック

これでデータベースが作成されます。
1つのデータベースに複数のテーブルを作成することができます。

それでは、

データベース名: dbkiso1
照合順序   : utf8mb4_bin

というデータベースを作成して下さい。
以後、本講義ではこのデータベース上にテーブル等を作成して演習を行います。

データベースの選択

テーブルの作成などデータベースに対して操作を行う場合は、メインページの左端にあるデータベース一覧から操作をしたいデータベースを選択します。

テーブルの作成

例として、次のようなテーブルを作成してみます。

テーブル名:meibo
フィールド:

名前データ型長さデフォルト値照合順序その他
idINTなしauto_increment
primary key
nameVARCHAR20なしutf8mb4_bin
rubyVARCHAR40なしutf8mb4_bin
birthdayDATEなし
emailVARCHAR100なしutf8mb4_bin

『データ型』のintは整数、varcharは文字列、dateは日付型を表します。
『その他』のauto_incrementは、自動採番であることを表します。
『その他』のprimary keyは、主キー(後の章で解説)であることを表します。
『名前』の欄にはmeibo、『カラム数』には5と入力して『実行する』をクリックします。

下図のような各カラムの設定をする画面になりますので、表の通りに順に設定します。

idのprimary keyのカラムは、『インデックス』のドロップダウンリストで『PRIMARY』を選択します。
auto_incrementのカラムは、『A.I』のチェックボックスにチェックを入れます。
下図のダイアログが表示された場合は、デフォルトのまま『実行』でかまいません。

入力が終わったら『保存』ボタンを押します。
その右にある『実行』ボタンはフィールドを追加するためのものです。最初に入力したフィールド数では足りなくなった場合に用います。これでテーブルが作成されました。

テーブルの選択

それでは、いま作ったテーブルをいろいろ操作してみましょう。

まず操作対象のテーブルを選択します。
メインページからテーブルdbkiso1を選択すると、左サイドメニューのdbkiso1の下に存在するテーブル名の一覧が表示されますので、先ほど作成したmeiboをクリックします。

テーブルを選択すると下図のような画面になります。
最初に表示されているのはテーブル表示画面です。
SELECT * FROM というSQLが実行されたことを示していますが、まだ1件もレコードが登録されていないのでなにも表示されていません。

テーブルにレコードを挿入する

上の『挿入』タブをクリックすると、レコード挿入画面に移動します。
この画面では一度に2件分ずつデータを入力することが出来ます。
とりあえずフォームの上半分だけ使って1件だけデータを入力してみましょう。

name :山田太郎
ruby :ヤマダタロウ
birthday :1997-07-01
email :yamada@example.com

auto_increment(自動採番)を設定したidの欄は空欄にしておきます。
『実行する』をクリックするとデータが登録されます。

挿入に成功すると下のような画面になります。

テストデータの登録は今後何度も行うことになると思われるので、しっかり手順を憶えておきましょう。

テーブルに登録されたデータをみる

テーブルに登録されたデータを見るときには、画面上部の『表示』タブをクリックします。
レコード表示画面に移動します。

下図のテーブル表示画面に切り替わり、中央部にレコード一覧が表示されています。
この一覧から、レコード毎にデータを編集・削除することもできます。

既存のデータを編集する

テーブル『表示』画面のレコード一覧で『編集』をクリックするとレコード内容を編集することができます。
たとえば、『山田太郎』の『郎』の字は間違いで、正しくは『朗』だった、として修正してみましょう。

編集画面は挿入画面とほぼ同じもので、編集対象のレコードの各フィールドの値が入力欄に初期値として入力された状態になっています。『実行』をクリックするとデータが上書きされます

編集が終了すると一覧画面に戻ります。画面上部には実行されたSQL(UPDATE文)が表示されています。

データを削除する

一覧画面で『削除』をクリックするとレコードを削除することが出来ます。

このような確認ダイアログ(実行するDELETEコマンドが表示されています)が表示されますので、『OK』をクリックすると削除されます。

テーブルの構造を編集する

テーブルの『構造』タブでは、テーブル構造そのものを編集することができます。

各フィールドの右にある『変更』をクリックすると、そのフィールドのフィールド名や型を変更することができます。また『削除』をクリックすると、そのフィールドを削除できます。

ではここで、新しく性別を表すフィールドを追加してみましょう。
追加するフィールドは以下のようにします。

名前 :gender
型 :VARCHAR(2)
照合順序:utf8mb4_bin
(rubyとbirthdayの間に挿入)

現在のフィールド一覧の下にある『○個のカラムを追加するの行で』、
個数は1、『指定カラムの後』をチェックし次のドロップダウンリストで『ruby』を選択して『実行』をクリックして下さい。

追加するフィールドの入力画面になりますので、
『名前』に『gender』、『データ型』に『VARCHAR』など、指定の通り入力して『保存する』をクリックします。

結果が表示されます。
この画面では ALTER TABLE~というSQLが実行されたことが判ります。

(このALTER TABLEをSQLコマンドとして入力してもテーブルの構造を変化させることが出来ます)

再度『構造』タブをクリックすると、ちゃんとgenderフィールドが追加されています。

テーブルの操作

『操作』タブをクリックすると、テーブルに対する特殊な操作を行う画面が表示されます。

この画面では、

テーブルの内容を別のデータベース・テーブルにコピーする
テーブルの名前を変更する
auto_increment の値を設定する
テーブルに登録されているレコードをすべて削除する
テーブルそのものを削除する

などの操作が出来ます。

SQLを実行する

phpmyadminではGUIによる操作だけではなく、SQLを実行することが出来ます。
上部の『SQL』タブをクリックし、下図の画面でSQLを入力して実行します。

講義中はこの画面をもっとも多く使うことになります!

SQL入力欄の下にある『SELECT*』や『INSERT』などのボタンをクリックすると、各コマンドのひな形が自動的に表示されます。
右には現在選択されているテーブルのフィールド名が列挙されています。名前をダブルクリックするか、名前を選択して『<<』をクリックするとSQLに挿入することが出来ます。

入力が終わったら『実行』をクリックします。

では、下記のSQLを入力して実行して下さい。

SQL
INSERT INTO meibo(name, ruby, gender, birthday, email)
VALUES ('鈴木清', 'スズキキヨシ', '男', '1998-10-22', 'suzuki@example.com');

INSERTコマンドは、テーブルに新たなレコードを挿入するためのコマンドです。詳しいことは別に学習します。

テーブル名やフィールド名の『`』(バッククォート)は省略しても構いません。
‘鈴木清’など文字列データの『’』(シングルクォート)は省略できません。
よく似ていますが別の文字なので注意して下さい。

SQLが正常に実行された場合はこのようになります。(結果表示部分が緑色です)

『表示』タブをクリックすると、INSERTコマンドでレコードが挿入できていることが判ります。

SQLが正常に実行できなかった場合は、下図のように表示されます。(結果表示部分が赤色です)

この画面から、表示されているエラーメッセージを参考にして下の欄に表示されているSQLコマンドを修正して再実行することも出来ます。この例では、’スズキキヨシ’の後の引用符が抜けています。

エクスポート

『エクスポート』タブをクリックすると、エクスポート画面が表示されます。
この画面ではテーブルの定義やテーブル上のレコードをファイルとして出力することができます。

通常はデフォルト設定の

エクスポート方法:『簡易』
フォーマット:『SQL』

で大丈夫です。
『実行』をクリックするとブラウザでファイルをダウンロードする状態になりますので、
『ファイルを保存する』またはエディタ等の『プログラムで開く』などを選択します。
(使用ブラウザによって若干動作が異なるので、各自のブラウザの操作方法を確認して下さい)

保存したファイルの中身はテーブル定義やレコード挿入のSQL文です。中心となるのは以下の部分です。

SQL
CREATE TABLE IF NOT EXISTS meibo (
id int(11) NOT NULL,
name varchar(20) CHARACTER SET utf8mb4_bin NOT NULL,
ruby varchar(40) CHARACTER SET utf8mb4_bin NOT NULL,
gender varchar(2) CHARACTER SET utf8mb4_bin NOT NULL,
birthday date NOT NULL,
email varchar(100) CHARACTER SET utf8mb4_bin NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

INSERT INTO testtable (id, name, ruby, gender, birthday, email) VALUES
(1, '山田太朗', 'ヤマダタロウ', '', '1998-7-1', 'yamada@example.com'),
(2, '鈴木清', 'スズキキヨシ', '男', '1998-10-22', 'suzuki@example.com');

ALTER TABLE testtable
ADD PRIMARY KEY (id);

ALTER TABLE testtable
MODIFY id int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;

インポート

『インポート』タブをクリックすると、インポート画面が表示されます。
この画面では、エクスポートされたファイルからテーブル定義やレコードを読み込むことが出来ます。

『参照』ボタンでインポートするファイルを選択し、『実行』ボタンでインポートを実行します。

テーブル定義を含んだファイルをインポートする場合、同名のテーブルが既に存在するとエラーが発生します。

エクスポートとインポートを使うと、バックアップや他のPCにテーブルをそっくり移動させることなどが簡単にできます。

コメント

タイトルとURLをコピーしました