Tạo MySQL Database sử dụng PHP

 Phần này giải thích cách tạo MySQL Database và Table sử dụng PHP.

Tạo một Database sử dụng PHP

Để tạo và xóa một Database, bạn nên có quyền admin. Nó là khá dễ dàng để tạo một MySQL Database mới. PHP sử dụng hàm mysql_query để tạo một MySQL Database. Hàm này nhận hai tham số và trả về TRUE nếu thành công và FALSE nếu thất bại.

Cú pháp Tạo một Database sử dụng PHP

bool mysql_query( sql, connection );

Tham sốMiêu tả
sqlBắt buộc - SQL query để tạo một Database
connectionTùy ý - Nếu không được xác định thì kết nối được mở lần cuối bởi mysql_connect sẽ được sử dụng

Ví dụ

Ví dụ sau minh họa cách tạo một Database sử dụng PHP.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'tennguoidung';
   $dbpass = 'matkhau';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn )
   {
      die('Không thể kết nối: ' . mysql_error());
   }

   echo 'Kết nối thành công';

   $sql = 'CREATE Database test_db';
   $retval = mysql_query( $sql, $conn );

   if(! $retval )
   {
      die('Không thể tạo database: ' . mysql_error());
   }

   echo "Cơ sở dữ liệu test_db được tạo thành công\n";
   mysql_close($conn);
?>

Chọn một Database sử dụng PHP

Một khi bạn thành lập một kết nối với một Database Server, thì điều cần thiết để chọn một Database cụ thể, tại đây tất cả table của bạn được liên hợp.

Điều này là cần thiết bởi vì, có thể có nhiều Database ở trong một Server đơn và bạn có thể làm việc với một Database đơn tại một thời điểm.

PHP cung cấp hàm mysql_select_db để lựa chọn một Database. Nó trả về TRUE nếu thành công hoặc FALSE nếu thất bại.

Cú pháp

bool mysql_select_db( db_name, connection );

Tham sốMiêu tả
db_nameBắt buộc - Tên Database để được chọn
connectionTùy ý - Nếu không được xác định, thì kết nối đã mở lần cuối bởi mysql_connect sẽ được sử dụng

Ví dụ

Ví dụ dưới minh họa cách bạn lựa chọn một Database bởi sử dụng PHP.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'tennguoidung';
   $dbpass = 'matkhau';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn )
   {
      die('Không thể kết nối: ' . mysql_error());
   }

   echo 'Kết nối thành công';

   mysql_select_db( 'test_db' );
   mysql_close($conn);

?>

Tạo Database Table sử dụng PHP

Để tạo các Table trong Database mới, bạn cần làm những việc như khi bạn tạo Database. Đầu tiên, tạo SQL query để tạo các Table, sau đó thực thi truy vấn này bởi sử dụng hàm mysql_query() trong PHP.

Ví dụ

Ví dụ sau minh họa cách tạo một Table bởi sử dụng PHP.

<?php

   $dbhost = 'localhost:3036';
   $dbuser = 'tennguoidung';
   $dbpass = 'matkhau';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn )
   {
      die('Không thể kết nối: ' . mysql_error());
   }

   echo 'Ket noi thanh cong';

   $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('Không thể tạo bảng: ' . mysql_error());
   }

   echo "Tạo bảng employee thành công\n";

   mysql_close($conn);
?>

Trong trường hợp, bạn cần tạo nhiều Table, thì tốt hơn hết, đầu tiên bạn nên tạo một text file và đặt tất cả SQL command trong file đó, và sau đó tải file này vào trong biến $sql và thực thi các lệnh này.

Bạn xét nội dung sau trong sql_query.txt file:

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 = 'tennguoidung';
   $dbpass = 'matkhau';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn )
   {
      die('Không thể kết nối: ' . 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('Không thể tạo bảng: ' . mysql_error());
   }

   echo "Tạo bảng employee thành công\n";
   mysql_close($conn);
?>

Bình luận