程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP+MySQL教程(3):創建數據庫和表

PHP+MySQL教程(3):創建數據庫和表

編輯:PHP綜合

數據庫存有一個或多個表。

創建數據庫

CREATE DATABASE 語句用於在 MySQL 中創建數據庫。

語法

CREATE DATABASE database_name

為了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。此函數用於向 MySQL 連接發送查詢或命令。

例子

在下面的例子中,我們創建了一個名為 "my_db" 的數據庫:

<?PHP
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  dIE('Could not connect: ' . mysql_error());
  }

if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }

MySQL_close($con);
?>

創建表

CREATE TABLE 用於在 MySQL 中創建數據庫表。

語法

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)

為了執行此命令,我必須向 MySQL_query() 函數添加 CREATE TABLE 語句。

例子

下面的例子展示了如何創建一個名為 "person" 的表,此表有三列。列名是 "FirstName", "LastName" 以及 "Age":

<?PHP
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  dIE('Could not connect: ' . mysql_error());
  }

// Create database
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }

// Create table in my_db database
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE person 
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);

MySQL_close($con);
?>

重要事項:在創建表之前,必須首先選擇數據庫。通過 MySQL_select_db() 函數選取數據庫。

注釋:當您創建 varchar 類型的數據庫字段時,必須規定該字段的最大長度,例如:varchar(15)。

MySQL 數據類型

下面的可使用的各種 MySQL 數據類型:

數值類型 描述
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
僅支持整數。在 size 參數中規定數字的最大值。
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

支持帶有小數的數字。

在 size 參數中規定數字的最大值。在 d 參數中規定小數點右側的數字的最大值。

文本數據類型 描述 char(size)

支持固定長度的字符串。(可包含字母、數字以及特殊符號)。

在 size 參數中規定固定長度。

varchar(size)

支持可變長度的字符串。(可包含字母、數字以及特殊符號)。

在 size 參數中規定最大長度。

tinytext 支持可變長度的字符串,最大長度是 255 個字符。
  • text
  • blob
支持可變長度的字符串,最大長度是 65535 個字符。
  • mediumtext
  • mediumblob
支持可變長度的字符串,最大長度是 16777215 個字符。
  • longtext
  • longblob
支持可變長度的字符串,最大長度是 4294967295 個字符。 日期數據類型 描述
  • date(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • time(hh:mm:ss)
支持日期或時間 雜項數據類型 描述 enum(value1,value2,ect) ENUM 是 ENUMERATED 列表的縮寫。可以在括號中存放最多 65535 個值。 set SET 與 ENUM 相似。但是,SET 可擁有最多 64 個列表項目,並可存放不止一個 choice

主鍵和自動遞增字段

每個表都應有一個主鍵字段。

主鍵用於對表中的行進行唯一標識。每個主鍵值在表中必須是唯一的。此外,主鍵字段不能為空,這是由於數據庫引擎需要一個值來對記錄進行定位。

主鍵字段永遠要被編入索引。這條規則沒有例外。你必須對主鍵字段進行索引,這樣數據庫引擎才能快速定位給予該鍵值的行。

下面的例子把 personID 字段設置為主鍵字段。主鍵字段通常是 ID 號,且通常使用 AUTO_INCREMENT 設置。AUTO_INCREMENT 會在新紀錄被添加時逐一增加該字段的值。要確保主鍵字段不為空,我們必須向該字段添加 NOT NULL 設置。

例子

$sql = "CREATE TABLE person 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";

MySQL_query($sql,$con);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved