【6日でできるPHP入門】データベースとテーブルを構築してみる

 Webアプリケーションを作成する際には、まずデータベースとテーブルを設計・構築することが重要です。
MySQLなどのRDBMSでは、SQL文を使って簡単にデータベースやテーブルを作成できます。
 本記事では、SQLクエリの例とともにデータベースの構築手順やポイント、さらにPHPからの実践例も交えて詳しく解説します。

1.データベースとテーブルの作成手順

1.1. データベースの作成・削除・選択

 MySQLでは、CREATE DATABASE文で新しいデータベースを作成できます。また、既存のデータベースを削除する場合はDROP DATABASE文を使います。

処理SQL例文ポイント
データベース削除DROP DATABASE IF EXISTS bookshop;存在しない場合はエラー回避
データベース作成CREATE DATABASE bookshop;新しいデータベースを作成
データベース選択USE bookshop;操作対象のデータベースを指定

SQLサンプル

DROP DATABASE IF EXISTS bookshop;
CREATE DATABASE bookshop;
USE bookshop;

1.2. テーブルの作成

それでは、データベースを作成してみましょう。

「クエリボックス」に以下のSQLクエリを入力して「実行」ボタンをクリックします。

CREATE DATABASE bookshop;

データベースの一覧の中に「bookshop」が追加されていることが確認できます。

1.3. デフォルトのデータベースの指定

デフォルトのデータベースは、以下のように指定します。

USE(データベース名);

デフォルトデータベースを「bookshop」にします。

「クエリボックス」に以下のSQLクエリを入力して「実行」ボタンをクリックします。

USE bookshop;

デフォルトデータベースが「bookshop」となります。

 テーブルを操作するときは、通常「データベース名.テーブル名」という書式でテーブルを指定する必要があります。デフォルトのデータベースを指定することで、デフォルトデータベースに指定されたテーブルを操作する場合は、データベース名を省略することができるようになります。

 MySQLでは複数のデータベースが存在するため、USEでデフォルトデータベースを指定しておくと、SQLクエリを短くすることができるため、SQLを簡潔に書けるようになります。

1.4. テーブルの作成

デフォルトのデータベースを選択したら、CREATE TABLE文でテーブルを作成します。
各カラムの名前・データ型・主キーなどを適切に指定しましょう。

カラム名データ型役割主キー備考
book_idINT書籍ID重複不可
titleVARCHAR(100)書籍タイトル最大100文字
authorVARCHAR(50)著者名最大50文字
stockINT在庫数

「クエリボックス」に以下のSQLクエリを入力して「実行」ボタンをクリックします。

※データベース名を省略できるように「CREATE TABLE」の前に「USE bookshop;」を指定しています。

USE bookshop;

CREATE TABLE books (
    book_id INT PRIMARY KEY,
    title VARCHAR(100),
    author VARCHAR(50),
    stock INT
);

テーブルが作成されます。

2.データの挿入とテーブル確認

2.1. データ挿入

INSERT文を使うと、テーブルにデータを追加できます。
複数行の挿入も可能です。

「クエリボックス」に以下のSQLクエリを入力して「実行」ボタンをクリックします。

※データベース名を省略できるように「CREATE TABLE」の前に「USE bookshop;」を指定しています。

USE bookshop;

INSERT INTO books (book_id, title, author, stock) VALUES
    (101, 'PHP入門', '田中一郎', 5),
    (102, 'MySQL実践', '佐藤花子', 3),
    (103, 'Web開発の基礎', '山本次郎', 7);

2.2. テーブルの内容確認

テーブルの内容を確認するにはSELECT文を使います。

「クエリボックス」に以下のSQLクエリを入力して「実行」ボタンをクリックします。

※データベース名を省略できるように「CREATE TABLE」の前に「USE bookshop;」を指定しています。

USE bookshop;

SELECT * FROM books;

まとめ

  • データベースはCREATE DATABASE、テーブルはCREATE TABLEで簡単に構築できます。
  • テーブル構造やカラム定義、主キー設定など、設計時はデータの特性に応じて考慮しましょう。
  • SQLクエリはphpMyAdminやPHPプログラムからも実行できます。