使用PHP建立MySQL資料庫



建立資料庫

要建立和刪除資料庫,您應該擁有管理員許可權。建立新的 MySQL 資料庫非常簡單。PHP 使用 **mysql_query** 函式來建立 MySQL 資料庫。此函式接受兩個引數,並在成功時返回 TRUE,失敗時返回 FALSE。

語法

bool mysql_query( sql, connection );

序號 引數及描述
1

sql

必需 - 建立資料庫的 SQL 查詢

2

connection

可選 - 如果未指定,則使用 mysql_connect 最後開啟的連線。

示例

嘗試以下示例來建立資料庫:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
   
   echo 'Connected successfully';
   
   $sql = 'CREATE Database test_db';
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create database: ' . mysql_error());
   }
   
   echo "Database test_db created successfully\n";
   mysql_close($conn);
?>

選擇資料庫

一旦您與資料庫伺服器建立連線,就需要選擇一個特定的資料庫,其中包含您所有關聯的表。

這是必需的,因為同一臺伺服器上可能存在多個數據庫,並且您一次只能處理一個數據庫。

PHP 提供 **mysql_select_db** 函式來選擇資料庫。它在成功時返回 TRUE,失敗時返回 FALSE。

語法

bool mysql_select_db( db_name, connection );

序號 引數及描述
1

db_name

必需 - 要選擇的資料庫名稱

2

connection

可選 - 如果未指定,則使用 mysql_connect 最後開啟的連線。

示例

以下示例演示如何選擇資料庫。

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'guest';
   $dbpass = 'guest123';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) { 
      die('Could not connect: ' . mysql_error());
   }
   
   echo 'Connected successfully';
   
   mysql_select_db( 'test_db' );
   mysql_close($conn);
   
?>

建立資料庫表

要在新資料庫中建立表,您需要執行與建立資料庫相同的操作。首先建立建立表的 SQL 查詢,然後使用 mysql_query() 函式執行該查詢。

示例

嘗試以下示例來建立表:

<?php
   
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
   
   echo 'Connected successfully';
   
   $sql = 'CREATE TABLE employee( '.
      'emp_id INT NOT NULL AUTO_INCREMENT, '.
      'emp_name VARCHAR(20) NOT NULL, '.
      'emp_address  VARCHAR(20) NOT NULL, '.
      'emp_salary   INT NOT NULL, '.
      'join_date    timestamp(14) NOT NULL, '.
      'primary key ( emp_id ))';
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create table: ' . mysql_error());
   }
   
   echo "Table employee created successfully\n";
   
   mysql_close($conn);
?>

如果您需要建立多個表,最好先建立一個文字檔案並將所有 SQL 命令放入該文字檔案,然後將該檔案載入到 $sql 變數中並執行這些命令。

考慮 sql_query.txt 檔案中的以下內容

CREATE TABLE employee(
   emp_id INT NOT NULL AUTO_INCREMENT,
   emp_name VARCHAR(20) NOT NULL,
   emp_address  VARCHAR(20) NOT NULL,
   emp_salary   INT NOT NULL,
   join_date    timestamp(14) NOT NULL,
   primary key ( emp_id ));

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
   
   $query_file = 'sql_query.txt';
   
   $fp = fopen($query_file, 'r');
   $sql = fread($fp, filesize($query_file));
   fclose($fp); 
   
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create table: ' . mysql_error());
   }
   
   echo "Table employee created successfully\n";
   mysql_close($conn);
?>
php_and_mysql.htm
廣告