PHP 创建 MySQL 表

每一个表在数据库中都有唯一的名称

每一个表都由行和列组成

行是每一条记录(数据)

列是每一个字段(field)

本章我们将学习如何使用 PHP 在 MySQL 数据库 twle 中创建表 customer

选择数据库

创建表前,我们需要使用 use twle 来选择要操作的数据库

use twle;

SQL 语句

我们的 customer 表有 5 个字段 "id", "firstname", "lastname", "email" 和 "created_at"

MySQL 创建表 SQL 语句为

CREATE TABLE customer (
id         INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname  VARCHAR(30) NOT NULL,
lastname   VARCHAR(30) NOT NULL,
email      VARCHAR(50),
created_at TIMESTAMP
)

数据类型指定列可以存储什么类型的数据

完整的数据类型请参考我们的 数据类型参考手册

在设置了数据类型后,我们可以为没个列指定其他选项的属性

属性 描述
NOT NULL 每一行都必须含有值(不能为空),null 值是不允许的
DEFAULT value 设置默认值
UNSIGNED 使用无符号数值类型,0 及正数
AUTO INCREMENT 设置 MySQL 字段的值在新增记录时每次自动增长 1
PRIMARY KEY 设置数据表中每条记录的唯一标识
通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用

每个表都应该有一个主键(本列为 "id" 列),主键必须包含唯一的值

面向对象 MySQLi

<?php

$servername  = "localhost";
$username    = "root";
$password    = "";
$dbname      = "twle";

// 创建连接

$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接
if ($conn->connect_error)
{
    die("连接失败: " . $conn->connect_error);
}

// 使用 sql 创建数据表
$sql = <<<END
CREATE TABLE customer (
id         INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname  VARCHAR(30) NOT NULL,
lastname   VARCHAR(30) NOT NULL,
email      VARCHAR(50),
created_at TIMESTAMP
)
END;

if ($conn->query($sql) === TRUE)
{
    echo "Table customer created successfully";

} else {
    echo "创建数据表错误: " , $conn->error;
}

$conn->close();

面向过程 MySQLi

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname   = "twle";

// 创建连接
$conn = mysqli_connect($servername, $username, $password,$dbname);

// 检测连接
if (!$conn)
{
    die("连接失败: " . mysqli_connect_error());
}
// 使用 sql 创建数据表
$sql = <<<END
CREATE TABLE customer (
id         INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname  VARCHAR(30) NOT NULL,
lastname   VARCHAR(30) NOT NULL,
email      VARCHAR(50),
created_at TIMESTAMP
)
END;

if (mysqli_query($conn, $sql))
{
    echo "数据表 customer 创建成功";
} else
{
    echo "创建数据表错误: " . mysqli_error($conn);
}

mysqli_close($conn);

PDO

<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "twle";

try {

    $conn = new PDO("mysql:host=$servername;dbname=$dbname",$username, $password);
       
    // 设置 PDO 错误模式,用于抛出异常
    $conn->setAttribute(PDO::ATTR_ERRMODE,  PDO::ERRMODE_EXCEPTION);


    // 使用 sql 创建数据表
    $sql = <<<END
CREATE TABLE customer (
id         INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname  VARCHAR(30) NOT NULL,
lastname   VARCHAR(30) NOT NULL,
email      VARCHAR(50),
created_at TIMESTAMP
)
END;

    // 使用 exec() ,没有结果返回
    $conn->exec($sql);
        
    echo "数据表 customer 创建成功";
}
catch(PDOException $e)
{    
    echo $sql, "<br>" ,$e->getMessage();
}

$conn = null;
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.