Php-create-mysql-database-using-php

提供:Dev Guides
移動先:案内検索

PHPを使用してMySQLデータベースを作成する

データベースを作成する

データベースを作成および削除するには、管理者権限が必要です。 新しいMySQLデータベースの作成は非常に簡単です。 PHPは mysql_query 関数を使用してMySQLデータベースを作成します。 この関数は2つのパラメーターを取り、成功するとTRUEを、失敗するとFALSEを返します。

構文

bool mysql_query( sql, connection );
Sr.No Parameter & Description
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);
?>

データベースの選択

データベースサーバーとの接続を確立したら、すべてのテーブルが関連付けられている特定のデータベースを選択する必要があります。

これは、単一のサーバー上に複数のデータベースが存在する場合があり、一度に1つのデータベースで作業できるため、必要です。

PHPは、データベースを選択する関数 mysql_select_db を提供します。成功するとTRUEを、失敗するとFALSEを返します。

構文

bool mysql_select_db( db_name, connection );
Sr.No Parameter & Description
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);
?>