摘要:在本教程中,我们将向您展示如何使用 PHP 通过 PDO API 创建 MySQL 数据库表。
以下是向您展示如何在数据库中创建新表的步骤:
- 打开与 MySQL 数据库服务器的数据库连接。
- 执行CREATE TABLE语句创建新表。
PHP MySQL:创建表示例
我们将使用以下 SQL 脚本在示例数据库中创建一个名为tasks
的新表:
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
);
Code language: SQL (Structured Query Language) (sql)
首先,我们创建一个名为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();
}
}
//...
}
Code language: PHP (php)
接下来,在CreateTabledemo
类的析构函数中,我们通过为其分配null
值来关闭数据库连接。
/**
* close the database connection
*/
public function __destruct() {
// close the database connection
$this->pdo = null;
}
Code language: PHP (php)
然后,定义createTaskTable()
方法来创建tasks
表:
/**
* 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);
}
Code language: PHP (php)
要执行 SQL 语句,请调用 PDO 对象的exec()
方法。之后,您可以创建CreateTableDemo
类的实例并调用createTaskTable()
方法。
// create the tasks table
$obj = new CreateTableDemo();
$obj->createTaskTable();
Code language: PHP (php)
最后,您可以检查classicmodels
示例数据库以查看tasks
表是否已创建。
您可以通过以下链接下载PHP脚本文件:
在本教程中,我们逐步向您展示了如何使用 PDO 对象在 MySQL 数据库中创建表。
本教程有帮助吗?