PHP MySQL 创建表

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

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

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

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

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

<?php
/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */
$link = mysqli_connect("localhost", "root", "");
 
// 检查连接
if($link === false){
    die("错误:无法连接。" . mysqli_connect_error());
}
//尝试执行CREATE TABLE查询执行
$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 "已成功创建表。";
} else{
    echo "错误:无法执行 $sql. " . mysqli_error($link);
}
 
//关闭连接
mysqli_close($link);
?>
<?php
/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
// 检查连接
if($mysqli === false){
    die("错误:无法连接。 " . $mysqli->connect_error);
}
 
//尝试执行CREATE TABLE查询执行
$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 "表创建成功。";
} else{
    echo "错误:无法执行 $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("错误:无法连接。 " . $e->getMessage());
}
 
//尝试执行CREATE TABLE查询执行
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 "已成功创建表。";
} catch(PDOException $e){
    die("错误:无法执行 $sql. " . $e->getMessage());
}
 
//关闭连接
unset($pdo);
?>

上例中的PHP代码在演示数据库中创建了一个名为person的表,该表具有id,first_name,last_name和email四列。
注意,每个字段名称后都有一个数据类型声明; 该声明指定列可以保存的数据类型,整数,字符串,日期等。

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

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

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