Tạo bảng MySQL

Để bắt đầu, lệnh tạo bảng yêu cầu các chi tiết sau:

  • Tên của bảng
  • Tên của các trường
  • Định nghĩa cho từng trường

Cú pháp

Đây là cú pháp SQL chung để tạo bảng MySQL -

CREATE TABLE table_name (column_name column_type);

Bây giờ, chúng ta sẽ tạo bảng sau trong TUTORIALS cơ sở dữ liệu.

create table tutorials_tbl(
   tutorial_id INT NOT NULL AUTO_INCREMENT,
   tutorial_title VARCHAR(100) NOT NULL,
   tutorial_author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( tutorial_id )
);

Ở đây, một số mục cần giải thích -

  • Thuộc tính trường NOT NULLđang được sử dụng vì chúng tôi không muốn trường này là NULL. Vì vậy, nếu người dùng cố gắng tạo bản ghi có giá trị NULL, thì MySQL sẽ phát sinh lỗi.

  • Thuộc tính trường AUTO_INCREMENT yêu cầu MySQL tiếp tục và thêm số có sẵn tiếp theo vào trường id.

  • Từ khóa PRIMARY KEYđược sử dụng để xác định một cột làm khóa chính. Bạn có thể sử dụng nhiều cột được phân tách bằng dấu phẩy để xác định khóa chính.

Tạo bảng từ Command Prompt

Thật dễ dàng để tạo một bảng MySQL từ dấu nhắc mysql>. Bạn sẽ sử dụng lệnh SQLCREATE TABLE để tạo một bảng.

Thí dụ

Đây là một ví dụ, sẽ tạo ra tutorials_tbl -

root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
   -> tutorial_id INT NOT NULL AUTO_INCREMENT,
   -> tutorial_title VARCHAR(100) NOT NULL,
   -> tutorial_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( tutorial_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
mysql>

NOTE - MySQL không kết thúc một lệnh cho đến khi bạn đưa ra dấu chấm phẩy (;) ở cuối lệnh SQL.

Tạo bảng bằng PHP Script

Để tạo bảng mới trong bất kỳ cơ sở dữ liệu hiện có nào, bạn cần sử dụng hàm PHP mysql_query(). Bạn sẽ chuyển đối số thứ hai của nó bằng một lệnh SQL thích hợp để tạo một bảng.

Thí dụ

Chương trình sau đây là một ví dụ để tạo một bảng bằng PHP script:

<html>
   <head>
      <title>Creating MySQL Tables</title>
   </head>
   
   <body>
      <?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<br />';
         $sql = "CREATE TABLE tutorials_tbl( ".
            "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
            "tutorial_title VARCHAR(100) NOT NULL, ".
            "tutorial_author VARCHAR(40) NOT NULL, ".
            "submission_date DATE, ".
            "PRIMARY KEY ( tutorial_id )); ";
         mysql_select_db( 'TUTORIALS' );
         $retval = mysql_query( $sql, $conn );
         
         if(! $retval ) {
            die('Could not create table: ' . mysql_error());
         }
         echo "Table created successfully\n";
         mysql_close($conn);
      ?>
   </body>
</html>