PHP MySQL 創(chuàng)建數(shù)據(jù)庫
數(shù)據(jù)庫存有一個(gè)或多個(gè)表。
你需要 CREATE 權(quán)限來創(chuàng)建或刪除 MySQL數(shù)據(jù)庫。
使用 MySQLi 和 PDO 創(chuàng)建 MySQL 數(shù)據(jù)庫
CREATE DATABASE 語句用于在 MySQL 中創(chuàng)建數(shù)據(jù)庫。
在下面的事例中,創(chuàng)建了一個(gè)名為"myDb" 的數(shù)據(jù)庫:
實(shí)例 (MySQLi - 面向?qū)ο?
<?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(); ?>
注意: 當(dāng)你創(chuàng)建一個(gè)新的數(shù)據(jù)庫時(shí),你必須為 mysqli 對象指定三個(gè)參數(shù) (servername, username 和password)。
Tip: 如果你使用其他端口(默認(rèn)為3306),為數(shù)據(jù)庫參數(shù)添加空字符串,如: new mysqli("localhost", "username", "password", " ", port)
關(guān)于數(shù)據(jù)庫起名:
1. 不允許用使用漢字作為數(shù)據(jù)庫的名稱(表名,字段名也是)
2. 數(shù)據(jù)庫名稱盡量不要使用保留字(關(guān)鍵字)
3. 數(shù)據(jù)庫名稱中不要使用特殊符號,但可以有下劃線分隔多個(gè)單詞
實(shí)例 (MySQLi Procedural)
<?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 實(shí)例創(chuàng)建數(shù)據(jù)庫 "myDBPDO":
實(shí)例
使用 PDO:
<?php $servername = "localhost" ; $username = "username"; $password = "password"; try { $conn = new PDO ("mysql:host=$servername;dbname=myDB", $username, $password); // 設(shè)置 PDO 錯(cuò)誤模式為異常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO" ; // 使用 exec() ,因?yàn)闆]有結(jié)果返回 $conn->exec($sql); echo "數(shù)據(jù)庫創(chuàng)建成功<br>" ; } catch(PDOException $e) { echo $sql . "<br>" . $e-> getMessage(); } $conn = null; ?>
提示: 使用 PDO 的最大好處是在數(shù)據(jù)庫查詢過程出現(xiàn)問題時(shí)可以使用異常類來 處理問題。如果 try{ } 代碼塊出現(xiàn)異常,腳本會停止執(zhí)行并會跳到第一個(gè) catch(){ } 代碼塊執(zhí)行代碼。 在以上捕獲的代碼塊中我們輸出了 SQL 語句并生成錯(cuò)誤信息。
PDO::setAttribute — 設(shè)置屬性。 詳細(xì)請參考:PDO::setAttribute
使用phpMyAdmin
可以通過打開phpMyAdmin直接輸入代碼點(diǎn)擊右下角“執(zhí)行”按鍵來執(zhí)行操作:
新建數(shù)據(jù)庫
CREATE DATABASE db_name;
查看數(shù)據(jù)庫
創(chuàng)建好新的數(shù)據(jù)庫以后,可以通過以下代碼來查看新建的數(shù)據(jù)庫:
SHOW CREATE DATABASE db_name;
選擇數(shù)據(jù)庫
對數(shù)據(jù)庫進(jìn)行操作時(shí),需要選擇一個(gè)數(shù)據(jù)庫。
mysql_select_db() 用于選擇一個(gè)數(shù)據(jù)庫,如果成功,該函數(shù)返回true,如果失敗則返回false。
詳細(xì)用法請參考:mysqli_select_db() 函數(shù)。