@ PHP

CRUD:テーブルの作成

    データベースに新規テーブルを作成する

    データベース shop 配下に新規に products テーブルを作成します。

    products テーブルのレイアウトはつぎのようにします。

    フィールド名 データ型 概要
    id INT(11) ID AUTO_INCREMENT (PK)
    name VARCHAR(100) 商品名 NOT NULL
    price INT(11) 価格 NOT NULL
    description VARCHAR(100) 商品説明 NOT NULL
    created DATETIME 登録日
    modified TIMESTAMP 更新日

    データベースにテーブルを作成する場合には、prepare() メソッドと execute() メソッドを使います。

    prepare メソッドにより、データベースに対して発行したい SQL 命令を指定し、execute() メソッドによってデータベースに命令が送信 / 実行されます。

    createtable.php

    <?php
    require_once('dbconnect.php');
    
    $sql = <<<SQL
        CREATE TABLE IF NOT EXISTS products (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        price INT(11) NOT NULL,
        description VARCHAR(100) NOT NULL,
        created DATETIME,
        modified TIMESTAMP
        );
    SQL;
    
    try {
    
        $sth = $dbh->prepare($sql);
        $sth->execute();
    
        if ($sth == true) {
            printf("Created table products.\n");
        } else {
            printf("Cannot created table products.\n");
        }
    
    } catch (PDOException $e) {
    print "ERR! : {$e->getMessage()}";
    } finally {
    $dbh = null;
    }