PHP MySQL 建立表
在本教程中,你將學習如何使用 PHP 在 MySQL 資料庫中建立表。
使用 PHP 在 MySQL 資料庫中建立表
在上一章中,我們學習瞭如何在 MySQL 伺服器上建立資料庫。現在是時候在資料庫中建立一些實際儲存資料的表。表格將資訊組織成行和列。
SQL 語句CREATE TABLE
用於在資料庫中建立表格。
讓我們使用該 CREATE TABLE
語句進行 SQL 查詢,之後我們將通過將其傳遞給 PHP mysqli_query()
函式來執行此 SQL 查詢,最終建立我們的表。
程序導向式建立表格
<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "demo");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Attempt create table query execution
$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 "Table created successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
物件導向式建立表格
<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$mysqli = new mysqli("localhost", "root", "", "demo");
// Check connection
if($mysqli === false){
die("ERROR: Could not connect. " . $mysqli->connect_error);
}
// Attempt create table query execution
$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 "Table created successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . $mysqli->error;
}
// Close connection
$mysqli->close();
?>
PDO 式建立表格
<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
try{
$pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
// Set the PDO error mode to exception
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
die("ERROR: Could not connect. " . $e->getMessage());
}
// Attempt create table query execution
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 "Table created successfully.";
} catch(PDOException $e){
die("ERROR: Could not able to execute $sql. " . $e->getMessage());
}
// Close connection
unset($pdo);
?>
在上面的例子中的 PHP 程式碼在 demo 資料庫裡建立了一個名為 persons
的表格,它有四列 ID,FIRST_NAME,last_name 和 email。
請注意,每個欄位名稱後跟一個資料型別宣告; 此宣告指定列可以容納的資料型別,無論是整數,字串,日期等。
也有一些額外的限制(也稱為修飾符)是在前面的 SQL 語句中的列名之後指定,如 NOT NULL
, PRIMARY KEY
, AUTO_INCREMENT
,它們約束定義關於允許列中的值的規則。
有關語法的詳細資訊,以及 MySQL 資料庫系統中可用的資料型別和約束,請檢視 SQL CREATE TABLE
語句 教程。
注意: 如果換行符沒有打斷關鍵字,值,表示式等,則 SQL 語句中可能會出現任意數量的換行符。
提示: 設定 PDO::ATTR_ERRMODE
屬性為 PDO::ERRMODE_EXCEPTION
來告知 PDO 在發生資料庫錯誤時丟擲異常。