PHP MySQL 創(chuàng)建數(shù)據(jù)庫
PHP?MySQL 創(chuàng)建數(shù)據(jù)庫
數(shù)據(jù)庫存有一個或多個表。
你需要 CREATE 權限來創(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 - 面向對象)
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 創(chuàng)建連接 $conn = new mysqli($servername, $username, $password); // 檢測連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } // 創(chuàng)建數(shù)據(jù)庫 $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "數(shù)據(jù)庫創(chuàng)建成功"; } else { echo "Error creating database: " . $conn->error; } $conn->close(); ?>
注意:?當你創(chuàng)建一個新的數(shù)據(jù)庫時,你必須為 mysqli 對象指定三個參數(shù) (servername, ? username 和 password)。
?
Tip:?如果你使用其他端口(默認為3306),為數(shù)據(jù)庫參數(shù)添加空字符串,如: new mysqli("localhost", ? "username", "password", "", port)
實例 (MySQLi Procedural)
CREATE?DATABASE?db_name;
語句用來創(chuàng)建數(shù)據(jù)庫,db_name是我們自己給數(shù)據(jù)起的名字:
??????? 不允許使用漢字作為數(shù)據(jù)庫的名稱(表名,字段名也是)
??????? 數(shù)據(jù)庫名稱盡量不要使用保留字(關鍵詞)
??????? 數(shù)據(jù)庫名中不要使用特殊符號,但可以有下劃線分隔多個單詞
每條SQL語句只有輸入分號(;)并回車后才會執(zhí)行
<?php $servername = "localhost"; $username = "username"; $password = "password"; // 創(chuàng)建連接 $conn = mysqli_connect($servername, $username, $password); // 檢測連接 if (!$conn) { die("連接失敗: " . mysqli_connect_error()); } // 創(chuàng)建數(shù)據(jù)庫 $sql = "CREATE DATABASE myDB"; if (mysqli_query($conn, $sql)) { echo "數(shù)據(jù)庫創(chuàng)建成功"; } 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); // 設置 PDO 錯誤模式為異常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO"; // 使用 exec() ,因為沒有結果返回 $conn->exec($sql); echo "數(shù)據(jù)庫創(chuàng)建成功<br>"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
提示:?使用 PDO 的最大好處是在數(shù)據(jù)庫查詢過程出現(xiàn)問題時可以使用異常類來 處理問題。如果 try{ } 代碼塊出現(xiàn)異常,腳本會停止執(zhí)行并會跳到第一個 catch(){ } 代碼塊執(zhí)行代碼。 在以上捕獲的代碼塊中我們輸出了 SQL 語句并生成錯誤信息。