XAMPPには、Webベースでmysqlを簡単に利用するためのツールが含まれています。
まず、XAMPP Control Panel を開き、ApacheおよびMySQLを起動します。『Apache』および『MySQL』の行の『Start』ボタンをクリックします。

『Apache』および『MySQL』が起動したら(文字が緑色になったら)、Webブラウザを開いて
にアクセスしてみましょう(ポートを80以外、たとえば8080にしている場合はhttp://localhost:8080/phpmyadmin)

または、XAMPP Control Panelの『MySQL』の行にある『Admin』ボタンをクリックしても起動出来ます。
データベースの作成
mysqlでは、1つのサーバーで複数の『データベース』を管理できます。
インストールした直後でもいくつかのデータベースが用意されていますが、本講義では専用のデータベースを作成してみます。
phpmyadminのメインページ(上記URLにアクセスした最初のページ、他のページからは左上の家の形のアイコンで移動)から『データベース』タブ(図の①)をクリックして、データベース作成ページを開きます。

入力欄にはデータベース名を入力、
照合順序③は utf8mb4_bin を選択して『作成』ボタンをクリック
これでデータベースが作成されます。
1つのデータベースに複数のテーブルを作成することができます。

それでは、
データベース名: dbkiso1
照合順序 : utf8mb4_bin
というデータベースを作成して下さい。
以後、本講義ではこのデータベース上にテーブル等を作成して演習を行います。
データベースの選択
テーブルの作成などデータベースに対して操作を行う場合は、メインページの左端にあるデータベース一覧から操作をしたいデータベースを選択します。

テーブルの作成
例として、次のようなテーブルを作成してみます。
テーブル名:meibo
フィールド:
| 名前 | データ型 | 長さ | デフォルト値 | 照合順序 | その他 |
|---|---|---|---|---|---|
| id | INT | なし | auto_increment primary key | ||
| name | VARCHAR | 20 | なし | utf8mb4_bin | |
| ruby | VARCHAR | 40 | なし | utf8mb4_bin | |
| birthday | DATE | なし | |||
| VARCHAR | 100 | なし | 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を入力して実行して下さい。
INSERT INTO meibo(name, ruby, gender, birthday, email)
VALUES ('鈴木清', 'スズキキヨシ', '男', '1998-10-22', 'suzuki@example.com');INSERTコマンドは、テーブルに新たなレコードを挿入するためのコマンドです。詳しいことは別に学習します。
テーブル名やフィールド名の『`』(バッククォート)は省略しても構いません。
‘鈴木清’など文字列データの『’』(シングルクォート)は省略できません。
よく似ていますが別の文字なので注意して下さい。
SQLが正常に実行された場合はこのようになります。(結果表示部分が緑色です)

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

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にテーブルをそっくり移動させることなどが簡単にできます。

コメント