PHP 创建 MySQL 数据库
1. 使用 PHP 创建 MySQL 数据库
数据库包含一个或多个表。在创建表之前,您必须先创建一个数据库。
要在 PHP 中创建数据库,通常需要执行 CREATE DATABASE 语句。执行该语句的方式取决于您选择使用的数据库扩展(MySQLi 或 PDO)。
2. 使用 MySQLi 面向对象方式创建数据库
在面向对象编程中,我们通过连接对象的 query() 方法来发送 SQL 指令。
代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "创建数据库出错: " . $conn->error;
}
$conn->close();
?>注意: 在创建新数据库时,您不应将第四个参数(数据库名称)传递给 mysqli 构造函数。因为在执行创建指令之前,该数据库还不存在。
3. 使用 MySQLi 过程式方式创建数据库
过程式方法使用 mysqli_query() 函数来执行操作。
代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
// 创建数据库
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "数据库创建成功";
} else {
echo "创建数据库出错: " . mysqli_error($conn);
}
mysqli_close($conn);
?>4. 使用 PDO 创建数据库
使用 PDO 的最大优势是:如果创建过程中发生任何异常,它会抛出错误,您可以通过 catch 块捕获它。
代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// 使用 exec(),因为它不返回结果集
$conn->exec($sql);
echo "数据库创建成功<br>";
} catch(PDOException $e) {
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>5. 为什么在 PDO 中使用 exec()?
既然你想快速搞定数据库初始化,exec() 就是你的好帮手。与 query() 不同,exec() 方法专门用于执行那些不需要返回结果集(Result Set)的 SQL 语句,比如 CREATE、INSERT 或 UPDATE。它会返回受影响的行数,这在创建数据库这种“一锤子买卖”的操作中非常高效且语义清晰。