在本教程中,我们将学习如何使用PDO API创建新表。
在PDO系列教程中,我们将使用到employees数据库。以下数据库关系图说明了employees数据模型:
在Employees数据库中有两个表:
请注意,为了用于演示目的,我们将使employees数据模型尽可能简单。我们将使用的数据库是MySQL。
要在数据库中创建新表,请使用CREATE TABLE语句。以下SQL语句用于创建部门表:
CREATE
TABLE
departments (
department_no
int
(11)
NOT
NULL
AUTO_INCREMENT,
name
varchar
(255)
DEFAULT
,
PRIMARY
KEY
(department_no)
) ENGINE=InnoDB;
要创建employees表,可以使用以下SQL语句:
employees (
employee_no
first_name
(40)
last_name
birth_date
date
gender
(1)
hire_date
(employee_no),
emp_dept (department_no),
CONSTRAINT
emp_dept
FOREIGN
REFERENCES
departments (department_no)
我们可以通过MySQL命令行工具或类似MySQL Workbench的GUI工具执行这些SQL语句来创建departments和employees表。
但是,这里我们将从PHP脚本使用PDO API创建这些表。
首先,我们需要在MySQL中创建一个名为empdb的新数据库来存储员工数据,如下所示:
CREATE DATABASE empdb;
然后,我们需要创建一个新的数据库配置文件dbconfig.php来存储数据库参数,包括主机、数据库名称、用户名和密码,如下所示:
<?php
$host
=
'localhost'
;
$db
'empdb'
$username
'root'
$password
''
最后,我们开发一个脚本文件,在empdb数据库中创建新表。我们将在这个脚本文件中include包含 dbconfig.php来访问数据库配置。
</td>
require_once
'dbconfig.php'
try
{
$dsn
"mysql:host=$host;dbname=$db"
$dbh
new
PDO(
);
$sql_create_dept_tbl
= <<<EOSQL
CREATE TABLE departments(
department_no int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
PRIMARY KEY (department_no)
) ENGINE=InnoDB
EOSQL;
$sql_create_emp_tbl
CREATE TABLE employees (
employee_no int(11) NOT NULL AUTO_INCREMENT,
first_name varchar(40) NOT NULL,
last_name varchar(40) NOT NULL,
NOT NULL,
gender varchar(1) NOT NULL,
DEFAULT NULL,
department_no int(11) DEFAULT NULL,
PRIMARY KEY (employee_no),
KEY emp_dept (department_no),
CONSTRAINT emp_dept FOREIGN KEY (department_no)
REFERENCES departments (department_no)
$msg
$r
->
exec
(
if
!== false) {
"成功创建表!<br/>"
}
else
"创建employees表时出错.<br/>"
"创建departments表时出错.<br/>"
// 显示信息
!=
)
echo
catch
(PDOException
$e
) {
->getMessage();
执行脚本文件后,可以检查数据库,查看是否已创建了departments和employees表。
原文链接:https://codingdict.com/