PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP MySQL 创建表

在本教程中,您将学习如何使用 PHP 在 MySQL 数据库中创建表。

使用 PHP 在 MySQL 数据库中创建表

在上一章中,我们学习了如何在 MySQL 服务器上创建数据库。 现在是时候在数据库中创建一些实际保存数据的表了。 表格将信息组织成行和列。

SQL CREATE TABLE 语句用于在数据库中创建表。

让我们使用 CREATE TABLE 语句进行 SQL 查询,然后我们将通过将其传递给 PHP mysqli_query() 函数来执行此 SQL 查询,最终创建我们的表。

示例

Procedural Object Oriented PDO
Download
<?php
/* 尝试 MySQL 服务器连接。 假设您正在运行 MySQL
具有默认设置的服务器(用户 'root' 没有密码) */
$link = mysqli_connect("localhost", "root", "", "demo");
 
// 检查连接
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
 
// 尝试创建表查询执行
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if(mysqli_query($link, $sql)){
    echo "Table created successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
 
// 关闭连接
mysqli_close($link);
?>
<?php
/* 尝试 MySQL 服务器连接。 假设您正在运行 MySQL
具有默认设置的服务器(用户 'root' 没有密码) */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// 检查连接
if($mysqli === false){
    die("ERROR: Could not connect. " . $mysqli->connect_error);
}
 
// 尝试创建表查询执行
$sql = "CREATE TABLE persons(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(30) NOT NULL,
    last_name VARCHAR(30) NOT NULL,
    email VARCHAR(70) NOT NULL UNIQUE
)";
if($mysqli->query($sql) === true){
    echo "Table created successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . $mysqli->error;
}
 
// 关闭连接
$mysqli->close();
?>
<?php
/* 尝试 MySQL 服务器连接。 假设您正在运行 MySQL
具有默认设置的服务器(用户 'root' 没有密码) */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    // 设置 PDO 错误模式为异常
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("ERROR: Could not connect. " . $e->getMessage());
}
 
// 尝试创建表查询执行
try{
    $sql = "CREATE TABLE persons(
        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(30) NOT NULL,
        last_name VARCHAR(30) NOT NULL,
        email VARCHAR(70) NOT NULL UNIQUE
    )";    
    $pdo->exec($sql);
    echo "Table created successfully.";
} catch(PDOException $e){
    die("ERROR: Could not able to execute $sql. " . $e->getMessage());
}
 
// 关闭连接
unset($pdo);
?>

上例中的 PHP 代码在 demo 数据库中创建了一个名为 persons 的表,其中包含 id, first_name, last_nameemail 四个列。

请注意,每个字段名称后面都有一个数据类型声明; 此声明指定列可以保存的数据类型,是整数、字符串、日期等。

在前面的 SQL 语句中的列名之后指定了一些额外的约束(也称为 修饰符),例如 NOT NULL, PRIMARY KEY, AUTO_INCREMENT 等。约束定义了有关列中允许的值的规则。

有关语法的详细信息,请查看 SQL CREATE TABLE 语句 的教程 ,以及 MySQL 数据库系统中可用的数据类型和约束。

注意: SQL 语句中可以出现任意数量的换行符,前提是任何换行符都不会中断关键字、值、表达式等。

提示:PDO::ATTR_ERRMODE 属性设置为 PDO::ERRMODE_EXCEPTION 会告诉 PDO 在发生数据库错误时抛出异常。

Advertisements