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数据库中创建表。

