在上節(jié)內(nèi)容中,如果你成功連接到了 MySQL 數(shù)據(jù)庫,那么本節(jié)請你進一步創(chuàng)建數(shù)據(jù)庫。
數(shù)據(jù)庫存有一個或多個表。
你需要 CREATE 權(quán)限來創(chuàng)建或刪除 MySQL 數(shù)據(jù)庫。
使用 MySQLi 和 PDO 創(chuàng)建 MySQL 數(shù)據(jù)庫
CREATE DATABASE 語句用于在 MySQL 中創(chuàng)建數(shù)據(jù)庫。
在下面的實例中,創(chuàng)建了一個名為 "myDB" 的數(shù)據(jù)庫:
實例 (MySQLi - 面向?qū)ο?
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password);
// 檢測連接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Create database
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
echo "Database created successfully";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
?>
| 注意: 當(dāng)你創(chuàng)建一個新的數(shù)據(jù)庫時,你必須為 mysqli 對象指定三個參數(shù) (servername, username 和 password)。
Tip: 如果你使用其他端口(默認(rèn)為3306),為數(shù)據(jù)庫參數(shù)添加空字符串,如: new mysqli("localhost", "username", "password", "", port) |
實例 (MySQLi Procedural)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 創(chuàng)建連接
$conn = mysqli_connect($servername, $username, $password);
// 檢測連接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Create database
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "Database created successfully";
} else {
echo "Error creating database: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
注意: 以下使用 PDO 實例創(chuàng)建數(shù)據(jù)庫 "myDBPDO":
實例 (PDO)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// 設(shè)置 PDO 錯誤模式為異常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// 使用 exec() ,因為沒有結(jié)果返回
$conn->exec($sql);
echo "Database created successfully<br>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
提示: 使用 PDO 的最大好處是在數(shù)據(jù)庫查詢過程出現(xiàn)問題時可以使用異常類來 處理問題。如果 try{ } 代碼塊出現(xiàn)異常,腳本會停止執(zhí)行并會跳到第一個 catch(){ } 代碼塊執(zhí)行代碼。 在以上捕獲的代碼塊中我們輸出了 SQL 語句并生成錯誤信息。
相關(guān)閱讀
在使用 MySQL 數(shù)據(jù)庫的時候,你需要注意哪些數(shù)據(jù)類型是允許使用的,詳細(xì)請參考“MySQL 數(shù)據(jù)類型”。
更多建議: