在本教程中,您将学习如何使用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语句中可以出现任意数量的换行符,前提是任何换行符都不会中断关键字、值、表达式等。