PHP MySQL:创建一个新表

时间:2019-11-20 08:52:37  来源:igfitidea点击:

简介:在本教程中,我们将向您展示如何使用PHP通过PDO API创建MySQL数据库表。

以下是向您展示如何在数据库中创建新表的步骤:

  • 打开与MySQL数据库服务器的数据库连接。

  • 执行CREATE TABLE语句以创建新表。

PHP MySQL:创建表示例

我们将使用以下SQL脚本在示例数据库中创建一个名为task的新表:

CREATE TABLE IF NOT EXISTS tasks (
    task_id     INT AUTO_INCREMENT PRIMARY KEY,
    subject     VARCHAR (255)        DEFAULT NULL,
    start_date  DATE                 DEFAULT NULL,
    end_date    DATE                 DEFAULT NULL,
    description VARCHAR (400)        DEFAULT NULL
);

首先,我们创建一个名为CreateTableDemo的类,它具有数据库配置参数。
在CreateTableDemo类的构造函数中,我们通过实例化一个新的PDO对象来打开与示例数据库的连接。

<?php

/**
 * PHP MySQL Create Table Demo
 */
class CreateTableDemo {

    /**
     * database host
     */
    const DB_HOST = 'localhost';

    /**
     * database name
     */
    const DB_NAME = 'classicmodels';

    /**
     * database user
     */
    const DB_USER = 'root';
    /*
     * database password
     */
    const DB_PASSWORD = '';

    /**
     *
     * @var type 
     */
    private $pdo = null;

    /**
     * Open the database connection
     */
    public function __construct() {
        // open database connection
        $conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
        try {
            $this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
        } catch (PDOException $e) {
            echo $e->getMessage();
        }
    }

    //...
}

接下来,在CreateTabledemo类的析构函数中,我们通过为它分配null值来关闭数据库连接。

/**
     * close the database connection
     */
    public function __destruct() {
        // close the database connection
        $this->pdo = null;
    }

然后,定义createTaskTable()方法来创建任务表:

/**
     * create the tasks table
     * @return boolean returns true on success or false on failure
     */
    public function createTaskTable() {
        $sql = <<<EOSQL
            CREATE TABLE IF NOT EXISTS tasks (
                task_id     INT AUTO_INCREMENT PRIMARY KEY,
                subject     VARCHAR (255)        DEFAULT NULL,
                start_date  DATE                 DEFAULT NULL,
                end_date    DATE                 DEFAULT NULL,
                description VARCHAR (400)        DEFAULT NULL
            );
EOSQL;
        return $this->pdo->exec($sql);
    }

要执行SQL语句,请调用PDO对象的exec()方法。
之后,您可以创建CreateTableDemo类的实例并调用createTaskTable()方法。

// create the tasks table
$obj = new CreateTableDemo();
$obj->createTaskTable();

最后,您可以检查classicmodels示例数据库以查看是否已创建任务表。

您可以通过以下链接下载PHP脚本文件:

下载PHP MySQL创建表源代码

在本教程中,我们逐步向您展示了如何使用PDO对象在MySQL数据库中创建表。