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);
?>