Board logo

標題: 9-2 使用DDL指令(9-2-1 建立與卸除資料庫) [打印本頁]

作者: 小誌    時間: 2011-4-21 19:12     標題: 9-2 使用DDL指令(9-2-1 建立與卸除資料庫)

9-2   使用DDL指令
DDL:資料定義語言(Data Definition Language),用來建立與刪除資料庫、資料表…等的SQL指令群。


9-2-1   建立與卸除資料庫
要在前端的PHP程式中建立後端MySQL Server控管的新資料庫,可以使用DDL指令群中的「Create」指令:
創建資料庫
  1. Create DataBase 新資料庫名
複製代碼
例如:利用前端PHP程式中的mysql_query()函數執行Create Database指令,於後端MySQL Server新增一個名為「PHP測試」的新資料庫:
[attach]5698[/attach]
圖9-20  範例ex09_09.php,利用前端PHP建立「PHP測試」的新資料庫。

ex09_09.php
  1. <?
  2.     $conn = mysql_connect("localhost", "root", "12345a");
  3.       //指定校對字元表
  4.       mysql_query("set character set big5");
  5.       //建立SQL命令字串
  6.       $SQL="Create Database PHP測試";
  7.       //執行資料庫建立
  8.       mysql_query($SQL);
  9. ?>
複製代碼

作者: 小誌    時間: 2011-4-21 19:12

要在後端MySQL Server中建立新資料庫,也就是使用CREATE DATABASE指令,權限是預設給「root」資料庫系統管理者,因此,並非每個登入MySQL Serve的帳號都可以建立新資料庫,也就是用不同的登入帳號就有不同存取資料和執行功能的權限。
[attach]5699[/attach]
圖9-21  在phpMyAdmin中的權限管理。

在範例ex09_9.php中,我們使用的登入帳號為「root(系統管理者)」,因此擁有最大的MySQL Server使用權限,所以能在後端MySQL Server中建立新資料庫,筆者建議您,如果要讓別人使用您的MySQL Server機器,最好建立一個有權限限制的帳號,不要將系統管理者帳號與密碼隨便交給別人使用!
作者: 小誌    時間: 2011-4-21 19:13

除了以mysql_query()函數執行Create Database指令可以建立新資料庫外,PHP亦提供了一個建立新資料庫的函數mysql_create_db():
mysql_create_db() 函數
  1. int mysql_create_db ( string name , int [link_identifier])
複製代碼
name參數是必須的,也就是要給定新增資料庫的名稱,link_identifier參數則可省略,在mysql_create_db()函數執行時會自動找尋最近由mysql_connect()函數所建立的連線。
例如:
  1. ex09_10.php
  2. <?
  3.     $conn = mysql_connect("localhost", "root", "12345a");
  4.       //指定校對字元表
  5.       mysql_query("set character set big5");
  6.       //執行資料庫建立
  7.     $result=mysql_create_db("mydatabase");
  8. ?>
複製代碼
注意:在MySQL4.x版本中並不支援PHP的mysql_create_db()函數。
作者: 小誌    時間: 2011-4-21 19:14

要透過前端PHP程式中的mysql_query()函數卸除後端MySQL Server中的資料庫可以使用使用DDL指令群中的「Drop」指令:
卸離資料庫
  1. Drop DataBase 資料庫名
複製代碼
例如:卸除範例ex09_11.php於後端MySQL Server新增的「PHP測試」資料庫:
ex09_11.php
  1. <?
  2.     $conn = mysql_connect("localhost", "root", "12345a");
  3.       //指定校對字元表
  4.       mysql_query("set character set big5");
  5.       //建立SQL命令字串
  6.       $SQL="DROP DataBase php測試";
  7.       //執行資料庫卸除
  8.      mysql_query($SQL);
  9. ?>
複製代碼

作者: 小誌    時間: 2011-4-21 19:15

除了以mysql_query()函數執行Drop Database指令可以建立新資料庫外,PHP亦提供了一個建立新資料庫的函數mysql_Drop_db():
mysql_drop_db() 函數
  1. int mysql_drop_db ( string name , int [link_identifier])
複製代碼
name參數是必須的,也就是要給定想要的資料庫的名稱,link_identifier參數則可省略,在mysql_drop_db()函數執行時會自動找尋最近由mysql_connect()函數所建立的連線。
例如:
  1. ex09_12.php
  2. <?
  3.     $conn = mysql_connect("localhost", "root", "12345a");
  4.       //指定校對字元表
  5.       mysql_query("set character set big5");
  6.       //執行資料庫刪除
  7.     $result=mysql_drop_db("mydatabase");
  8. ?>
複製代碼
注意:在MySQL4.x版本中並不支援PHP的mysql_drop_db()函數。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)