フリー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では、以下のコマンドを使用してデータの登録や削除などを行います。
INSERT
SELECT
UPDATE
DELETE
テーブルにデータを登録する事ができます。書式は 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 = '山田太郎';