フリーPHPスクリプト配布サイト。
最終的にはPHPからMySQLを利用してWebアプリケーションを作成しますが、まずはMySQLのみを操作してみます。あらかじめMySQLを操作する命令を知っておいた方が、PHPからのデータベース操作も理解しやすいです。
XAMPPのコントロールパネルを開き、『MySQL』の右側にある『Admin』ボタンを押します。ブラウザソフトが起動し、以下のようにデータベース管理ツールのphpMyAdminが表示されれば成功です。(ApacheとMySQLは、あらかじめ起動させておいてください。)
XAMPPのセキュリティ設定でMySQLの管理者パスワードを設定したので、ユーザ名とパスワードを入力する必要があります。ユーザ名には root、パスワードには自分で設定したパスワードを入力し、『実行する』ボタンを押します。
ログインすると以下の画面が表示されます。ここからデータベースを操作することができます。(クリックすると拡大表示されます。)
データを登録するには、あらかじめデータベースを作成しておく必要があります。『MySQL localhost』の『新規データベースを作成する』の下に、半角英数字で任意のデータベース名を入力してください。今回は phpdb という名前で作成することにします。『照合順序』は utf8_unicode_ci を選択してください。入力できたら、『作成』ボタンを押します。
以下のように データベース phpdb を作成しました。 と表示されれば成功です。画面左のデータベース一覧に phpdb というデータベースが追加されます。
画面上部にある SQL を選択すると、任意の命令を入力できる画面が開きます。これからは、ここに命令を直接入力してMySQLを操作します。phpMyAdminでは直接命令を入力しなくてもある程度の操作はできますが、それでは練習にならないので今回は直接入力を行います。(クリックすると拡大表示されます。)
なお、phpMyAdminにログインした直後は作業対象のデータベースが選択されていない状態です。ログイン直後は、画面左のリストから操作したいデータベースを選択してください。
命令を実行する前に、入力欄の上に「データベース phpdb 上でクエリを実行する」のように、操作したいデータベース名が表示されていることを確認して下さい。
データベースが用意できたら、その中にデータを格納するためのテーブルを作成します。
テーブルに格納するデータにはあらかじめフィールド名とそのデータ型を指定しておく必要があります。これにより、誤って不正なデータが入力される可能性を減らすことができます。
代表的なデータ型は以下のとおりです。他にも色々なデータ型がありますが、ひとまずこれだけ知っておけばいいでしょう。
| データ型名 | データ型 | 格納できる値 | 主な用途 |
|---|---|---|---|
INT |
数値型 | -2147483648 〜 214783647 の整数 | 受付番号など整数 |
DOUBLE |
数値型 | 実数 | 少数を扱う場合など |
CHAR |
文字列型 | 固定長文字列 0 〜 255 バイト | 分類コードなど桁数が決まった文字列 |
VARCHAR |
文字列型 | 可変長文字列 0 〜 255 バイト | 氏名など |
TEXT |
文字列型 | 可変長文字列 0 〜 65,535 バイトト | 長い文章 |
DATE |
日付型 | 1000年01月01日 〜 9999年12月31日 | 登録日などの年月日 |
DATETIME |
日付型 | 1000年01月01日 00:00:00 〜 9999年12月31日 23:59:59 | 秒単位まで必要な日時 |
例として、今回は以下のようなテーブルを作成してみます。登録番号・氏名・電話番号を格納できる、簡単なアドレス帳のテーブルです。
| フィールド名 | データ型 | 用途 |
|---|---|---|
no |
INT |
登録番号 |
name |
VARCHAR(80) |
氏名 |
tel |
VARCHAR(80) |
電話番号 |
データベース内に新規にテーブルを作成する事ができます。コマンドに続けてテーブル内容を定義します。今回、実際に入力するコマンドは以下になります。
CREATE TABLE address(
no INT,
name VARCHAR(80),
tel VARCHAR(80)
);
no のデータ型は INT で、name のデータ型は VARCHAR で...という定義です。VARCHAR の (80) という数値は「最大80文字まで格納できる」という意味です。CHAR か VARCHAR を定義するときは、このように文字サイズも指定します。
命令の最後に ;(セミコロン)がありますが、PHP同様、セミコロンが命令の区切りとみなされますので、セミコロンに続けて次の命令を書くことができます。
また、PHPと同様半角スペースやタブは無視されるので、読みやすいように適当にインデントすることができます。
CREATE TABLE を使用すると、以下のように結果が画面に表示されます。
テーブルを削除する事ができます。DROP TABLE に続けて削除するテーブル名を指定します。実行すると直ちに削除されますので、必要なデータを削除してしまわないように注意してください。
DROP TABLE address;
データベースとテーブルの作成ができたら、この中にデータを登録していきます。MySQLでは、以下のコマンドを使用してデータの登録や削除などを行います。
INSERTSELECTUPDATEDELETEテーブルにデータを登録する事ができます。書式は INSERT INTO テーブル名(カラム1, カラム2,...) VALUES(値1, 値2,...) となります。文字列を登録する場合、その文字列をダブルクォートかシングルクォートで囲んで指定します。
INSERT INTO address(no, name, tel) VALUES(1, '山田太郎', '090-1234-5678');
INSERT INTO address(no, name, tel) VALUES(2, "山田花子", "090-2345-6789");
INSERT を使用すると、以下のように結果が画面に表示されます。
すべての項目にデータを登録する場合、以下のようにカラムの指定を省略することができます。
INSERT INTO address VALUES(1, '山田太郎', '090-1234-5678');
テーブル内のデータを表示する事ができます。書式は SELECT 表示するカラム FROM テーブル名 となります。表示するカラムは、コンマで区切って複数指定することができます。
SELECT name FROM address;
SELECT name, tel FROM address;
SELECT を使用すると、以下のようにデータが画面に表示されます。
カラム名の代わりに * を指定すると、すべてのカラムを表示する事ができます。
SELECT * FROM address;
WHERE を指定すれば、表示する内容を指定する事ができます。WHERE の詳細は後述します。
SELECT * FROM address WHERE name = '山田太郎';
テーブル内のデータを更新する事ができます。書式は UPDATE テーブル名 SET カラム= 値 となります。更新するカラムは、コンマで区切って複数指定することができます。
UPDATE address SET tel = '090-2345-6789';
UPDATE address SET name = '山田健二', tel = '090-2345-6789';
単に UPDATE を使用するとすべてのデータが更新されるため、通常は WHERE を使用して特定のデータを更新します。
UPDATE address SET tel = '090-2345-6789' WHERE name = '山田太郎';
テーブル内のデータを削除する事ができます。書式は DELETE FROM テーブル名 となります。
DELETE FROM address;
単に DELETE を使用するとすべてのデータが削除されるため、通常は WHERE を使用して特定のデータを削除します。
DELETE FROM address WHERE name = '山田太郎';
Analyze