离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-11-28 11:00:43

用 PHP 创建 MySQL 数据库

创建一个数据库

创建和删除数据库你应该有管理特权。它很容易创建一个新的 MySQL 数据库。PHP 使用 mysql_query 函数创建一个MySQL 数据库。这个函数接受两个参数执行成功并返回 TRUE;如果执行失败将返回 FALSE。

语法

    bool mysql_query( sql, connection );
参数 说明
sql 必填-----用 SQL查询语句创建一个数据库
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 );
参数 说明
db_name 必填-----选择数据库名称
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 命令写到文本文件中,然后执行这些命令将该文件导入到 mysq 数据库中。

考虑以下内容 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);
    ?>