MySQLの基本的な操作

トップ > PHP入門 > MySQLの基本的な操作

目次

広告

phpMyAdminの操作

最終的には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

データベース内に新規にテーブルを作成する事ができます。コマンドに続けてテーブル内容を定義します。今回、実際に入力するコマンドは以下になります。

CREATE TABLE address(
  no   INT,
  name VARCHAR(80),
  tel  VARCHAR(80)
);

no のデータ型は INT で、name のデータ型は VARCHAR で…という定義です。VARCHAR(80) という数値は「最大80文字まで格納できる」という意味です。CHARVARCHAR を定義するときは、このように文字サイズも指定します。

命令の最後に ;(セミコロン)がありますが、PHP同様、セミコロンが命令の区切りとみなされますので、セミコロンに続けて次の命令を書くことができます。

また、PHPと同様半角スペースやタブは無視されるので、読みやすいように適当にインデントすることができます。

CREATE TABLE を使用すると、以下のように結果が画面に表示されます。

スクリーンショット

DROP TABLE

テーブルを削除する事ができます。DROP TABLE に続けて削除するテーブル名を指定します。実行すると直ちに削除されますので、必要なデータを削除してしまわないように注意してください。

DROP TABLE address;

テーブルの基本操作

データベースとテーブルの作成ができたら、この中にデータを登録していきます。MySQLでは、以下のコマンドを使用してデータの登録や削除などを行います。

INSERT
データを登録する事ができます。
SELECT
データを表示する事ができます。
UPDATE
データを更新する事ができます。
DELETE
データを削除する事ができます。

INSERT

テーブルにデータを登録する事ができます。書式は 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

テーブル内のデータを表示する事ができます。書式は SELECT 表示するカラム FROM テーブル名 となります。表示するカラムは、コンマで区切って複数指定することができます。

SELECT name FROM address;
SELECT name, tel FROM address;

SELECT を使用すると、以下のようにデータが画面に表示されます。

スクリーンショット

カラム名の代わりに * を指定すると、すべてのカラムを表示する事ができます。

SELECT * FROM address;

スクリーンショット

WHERE を指定すれば、表示する内容を指定する事ができます。WHERE の詳細は後述します。

SELECT * FROM address WHERE name = '山田太郎';

UPDATE

テーブル内のデータを更新する事ができます。書式は 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

テーブル内のデータを削除する事ができます。書式は DELETE FROM テーブル名 となります。

DELETE FROM address;

単に DELETE を使用するとすべてのデータが削除されるため、通常は WHERE を使用して特定のデータを削除します。

DELETE FROM address WHERE name = '山田太郎';