9-2 使用DDL指令(9-2-1 建立與卸除資料庫)
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
9-2 使用DDL指令(9-2-1 建立與卸除資料庫)
9-2 使用DDL指令
DDL:資料定義語言(Data Definition Language),用來建立與刪除資料庫、資料表…等的SQL指令群。
9-2-1 建立與卸除資料庫
要在前端的PHP程式中建立後端MySQL Server控管的新資料庫,可以使用DDL指令群中的「Create」指令:
創建資料庫例如:利用前端PHP程式中的mysql_query()函數執行Create Database指令,於後端MySQL Server新增一個名為「PHP測試」的新資料庫:
圖9-20 範例ex09_09.php,利用前端PHP建立「PHP測試」的新資料庫。
ex09_09.php- <?
- $conn = mysql_connect("localhost", "root", "12345a");
- //指定校對字元表
- mysql_query("set character set big5");
- //建立SQL命令字串
- $SQL="Create Database PHP測試";
- //執行資料庫建立
- mysql_query($SQL);
- ?>
複製代碼 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
2#
發表於 2011-4-21 19:12
| 只看該作者
要在後端MySQL Server中建立新資料庫,也就是使用CREATE DATABASE指令,權限是預設給「root」資料庫系統管理者,因此,並非每個登入MySQL Serve的帳號都可以建立新資料庫,也就是用不同的登入帳號就有不同存取資料和執行功能的權限。
圖9-21 在phpMyAdmin中的權限管理。
在範例ex09_9.php中,我們使用的登入帳號為「root(系統管理者)」,因此擁有最大的MySQL Server使用權限,所以能在後端MySQL Server中建立新資料庫,筆者建議您,如果要讓別人使用您的MySQL Server機器,最好建立一個有權限限制的帳號,不要將系統管理者帳號與密碼隨便交給別人使用! |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
3#
發表於 2011-4-21 19:13
| 只看該作者
除了以mysql_query()函數執行Create Database指令可以建立新資料庫外,PHP亦提供了一個建立新資料庫的函數mysql_create_db():
mysql_create_db() 函數- int mysql_create_db ( string name , int [link_identifier])
複製代碼 name參數是必須的,也就是要給定新增資料庫的名稱,link_identifier參數則可省略,在mysql_create_db()函數執行時會自動找尋最近由mysql_connect()函數所建立的連線。
例如:- ex09_10.php
- <?
- $conn = mysql_connect("localhost", "root", "12345a");
- //指定校對字元表
- mysql_query("set character set big5");
- //執行資料庫建立
- $result=mysql_create_db("mydatabase");
- ?>
複製代碼 注意:在MySQL4.x版本中並不支援PHP的mysql_create_db()函數。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
4#
發表於 2011-4-21 19:14
| 只看該作者
要透過前端PHP程式中的mysql_query()函數卸除後端MySQL Server中的資料庫可以使用使用DDL指令群中的「Drop」指令:
卸離資料庫例如:卸除範例ex09_11.php於後端MySQL Server新增的「PHP測試」資料庫:
ex09_11.php- <?
- $conn = mysql_connect("localhost", "root", "12345a");
- //指定校對字元表
- mysql_query("set character set big5");
- //建立SQL命令字串
- $SQL="DROP DataBase php測試";
- //執行資料庫卸除
- mysql_query($SQL);
- ?>
複製代碼 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|
- 帖子
- 1206
- 主題
- 396
- 精華
- 113
- 積分
- 1747
- 點名
- 1
- 作業系統
- Vista
- 軟體版本
- Office 2003
- 閱讀權限
- 200
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2010-5-1
- 最後登錄
- 2026-10-2
      
|
5#
發表於 2011-4-21 19:15
| 只看該作者
除了以mysql_query()函數執行Drop Database指令可以建立新資料庫外,PHP亦提供了一個建立新資料庫的函數mysql_Drop_db():
mysql_drop_db() 函數- int mysql_drop_db ( string name , int [link_identifier])
複製代碼 name參數是必須的,也就是要給定想要的資料庫的名稱,link_identifier參數則可省略,在mysql_drop_db()函數執行時會自動找尋最近由mysql_connect()函數所建立的連線。
例如:- ex09_12.php
- <?
- $conn = mysql_connect("localhost", "root", "12345a");
- //指定校對字元表
- mysql_query("set character set big5");
- //執行資料庫刪除
- $result=mysql_drop_db("mydatabase");
- ?>
複製代碼 注意:在MySQL4.x版本中並不支援PHP的mysql_drop_db()函數。 |
|
|
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
|
|
|
|
|