Tạo bảng trong MySQL

Lệnh để tạo một bảng dữ liệu trong MySQL cần bao gồm:

  • Tên bảng
  • Tên các trường
  • Định nghĩa cho mỗi trường

Cú pháp

Dưới đây là cú pháp SQL cơ bản để tạo một bảng trong MySQL:

CREATE TABLE ten_bang (ten_cot kieu_du_lieu_cucot);

Dưới đây là ví dụ để tạo một bảng có tên là sinhvienk60 với các trường mssv, ho, ten, tuoi, diemthick trong cơ sở dữ liệu sinhvien:

Ghi chú: Nếu bạn có nhiều cơ sở dữ liệu, thì để tạo bảng sinhvienk60 có trong cơ sở dữ liệu sinhvien thì trước hết bạn phải chọn cơ sở dữ liệu đó với lệnh USE.

CREATE TABLE sinhvienk60 (
mssv INT NOT NULL AUTO_INCREMENT,
ho VARCHAR(255) NOT NULL,
ten VARCHAR(255) NOT NULL,
tuoi INT NOT NULL,
diemthi FLOAT(4,2) NOT NULL,
PRIMARY KEY (mssv)
);

Một số khái niệm cần giải thích:

  • Thuộc tính NOT NULL của trường đang được sử dụng bởi vì chúng ta không muốn trường này là NULL. Vì thế, nếu người dùng cố gắng tạo một bản ghi có giá trị NULL, thì MySQL sẽ tạo một lỗi.
  • Thuộc tính AUTO_INCREMENT nói cho MySQL tự động tăng khóa chính và thêm giá trị có sẵn tiếp theo tới trường id.
  • Từ khóa PRIMARY KEY được sử dụng để định nghĩa một cột là PRIMARY KEY (khóa chính). Bạn có thể sử dụng nhiều cột phân biệt nhau bởi dấu phảy để định nghĩa một PRIMARY KEY.

Tạo bảng bởi sử dụng PHP Script

Để tạo một bảng mới trong bất kỳ cơ sở dữ liệu đang tồn tại nào, bạn sẽ cần sử dụng hàm mysql_query() trong PHP. Bạn sẽ truyền cho hàm này tham số thứ hai là một lệnh SQL hợp lý để tạo một bảng.

Ví dụ

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

<html>
<head>
<title>Tao bang trong MySQL</title>
</head>
<body>
<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '123456';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Khong the ket noi: ' . mysql_error());
}
echo 'Ket noi thanh cong<br />';
$sql = "CREATE TABLE sinhvienk60( ".
       "mssv INT NOT NULL AUTO_INCREMENT, ".
       "ho VARCHAR(255) NOT NULL, ".
       "ten VARCHAR(255) NOT NULL, ".
       "tuoi INT NOT NULL, ".
       "diemthi FLOAT(4,2) NOT NULL, ".
       "PRIMARY KEY ( mssv )); ";
mysql_select_db( 'sinhvien' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Khong the tao bang: ' . mysql_error());
}
echo "Tao bang sinhvienk60 thanh cong\n";
mysql_close($conn);
?>
</body>
</html>

Sao chép code trên trong một trình soạn thảo chẳng hạn, lưu là taobang.php, bạn cần xác định các tham số $dbuser và $dbpass thích hợp (tùy theo cách bạn đã thiết lập với MySQL), sau đó, mở trình duyệt, chạy locallhost/taobang.php sẽ cho kết quả như sau:

Ket noi thanh cong
Tao bang sinhvienk60 thanh cong

Bình luận