使用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
广告

© . All rights reserved.