Hướng dẫn mysql create table - mysql tạo bảng

Trong bài này chúng ta sẽ tìm hiểu một lệnh đầu tiên trong ngôn ngữ T-SQL nói riêng và trong MySQL nói chung đó là lệnh tạo mới một bảng (Create Table). Trong bài này chúng ta có sử dụng một số kiểu dữ liệu trong MySQL để thiết lập kiểu dữ liệu cho các field trong table.

Hướng dẫn mysql create table - mysql tạo bảng

Hướng dẫn mysql create table - mysql tạo bảng

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức.

Trước khi vào vấn đề chính thì chúng ta cần phải làm sáng tỏ một vài vấn đề. Như bạn biết trong các mô hình như mô hình thực thể mối kết hợp thì chúng ta có tìm hiểu khái niệm về loại thực thể (entity), nếu liên hệ với hệ CSDL thì ta sẽ gọi nó là một table. Ví dụ như trong mô hình quản lý sinh viên ta sẽ có bảng SINHVIEN, bảng LOP, bảng MONHOC và đây cũng chính là các loại thực thể. Ví dụ như trong mô hình quản lý sinh viên ta sẽ có bảng SINHVIEN, bảng LOP, bảng MONHOC và đây cũng chính là các loại thực thể.

Mỗi table chúng ta sẽ có một số thông tin riêng. Ví dụ như bảng SINHVIEN chúng ta có:

  • Tên sinh viên
  • Năm sinh
  • Đang học lớp
  • ...

Các thông tin này chúng ta gọi là thuộc tính của table, nghĩa là khi lưu trữ dữ liệu của sinh viên chính là lưu trữ thông tin của các thuộc tính này.

Bài viết này được đăng tại [free tuts .net]

Lưu ý::

  • Nếu bạn chạy nhiều lệnh cùng lúc thì bạn phải thêm dấu ; ở cuối mỗi lệnh.
  • Tất cả các đoạn code SQL này bạn copy và dán vào trình chạy và Execute nhé, nếu chưa biết nó ở đâu bạn quay lại bài cài đặt mysql để tìm hiểu thêm.

Bây giờ ta sẽ tìm hiểu chi tiết hơn về cú pháp tạo table nhé.

1. Lệnh tạo bảng (Create Table) trong MySQLCreate Table) trong MySQL

Trước tiên chúng ta cần sử dụng lệnh tạo database để tạo mới một database, sau đó sử dụng lệnh USE để chọn database này.

CREATE DATABASE QLSV;
USE QLSV;

Để tạo mới một bảng ta sử dụng cú pháp sau:

CREATE TABLE [IF NOT EXISTS] table_name(
        /*column_list*/
) ENGINE=table_type

Trong đó::

  • CREATE TABLE [IF NOT EXISTS] table_name(
            /*column_list*/
    ) ENGINE=table_type
    0: là từ khóa tạo bảng
  • CREATE TABLE [IF NOT EXISTS] table_name(
            /*column_list*/
    ) ENGINE=table_type
    1: dòng này có thể có hoặc không, ý nghĩa của nó là nếu table này chưa tồn tại thì thực hiện tạo table, còn nếu tồn tại rồi thì không tạo.
  • CREATE TABLE [IF NOT EXISTS] table_name(
            /*column_list*/
    ) ENGINE=table_type
    2: là danh sách các fields, ví dụ như TenSV, MaSV, ... Mỗi field gồm hai thông số là tên field và kiểu dữ liệu cho nó, nếu có nhiều field thì sẽ dùng dấu phảy (,) để ngăn cách.Ví dụ: TenSV varchar(255)
    Ví dụ: TenSV varchar(255)
  • CREATE TABLE [IF NOT EXISTS] table_name(
            /*column_list*/
    ) ENGINE=table_type
    3: Là kiểu engine của bảng này, các kiểu này chúng ta đã được học ở bài MySQL Table Types & Storage Engines

Ví dụ: Cho bảng SINHVIEN gồm có các thông tin sau:: Cho bảng SINHVIEN gồm có các thông tin sau:

  • TenSV: Tên sinh viên, kiểu varchar và chiều dài tối đa 255 ký tự: Tên sinh viên, kiểu varchar và chiều dài tối đa 255 ký tự
  • MaSV: Mã sinh viên, kiểu INT và chiều dai là tối đa 11 số: Mã sinh viên, kiểu INT và chiều dai là tối đa 11 số
  • NamSinh: Năm sinh, kiểu INT và chiều dài tối đa là 4 số: Năm sinh, kiểu INT và chiều dài tối đa là 4 số

Lệnh tạo bảng như sau:

USE QLSV; 

CREATE TABLE SINHVIEN(
	TenSV VARCHAR(255),
	MaSV INT(11),
	NamSinh INT(4)
) ENGINE = InnoDB

2. Gán giá trị mặc định cho table

Giá trị mặc định tức là khi bạn thêm một record mà bạn không nhập dữ liệu vào thì nó sẽ lấy giá trị mặc định làm giá trị. Để gán giá trị mặc định thì ta sẽ dùng từ khóa DEFAULT đằng sau mỗi field. DEFAULT đằng sau mỗi field.

Ví dụ

USE QLSV; 

CREATE TABLE SINHVIEN(
	TenSV VARCHAR(255) DEFAULT 'noname',
	MaSV INT(11),
	NamSinh INT(4)
) ENGINE = InnoDBsinhvien

3. Thiết lập Null và Not Null cho Column

Nếu bạn muốn một column bắt buộc nhập dữ liệu khi thêm mới thì bạn sẽ sử dụng từ khóa NOT NULL. Ngược lại thì bạn sẽ dùng từ khóa NULL (mặc định là NULL).

Vi dụ

USE QLSV; 

CREATE TABLE SINHVIEN(
	TenSV VARCHAR(255) DEFAULT 'noname',
	MaSV INT(11) NOT NULL,
	NamSinh INT(4)
) ENGINE = InnoDBsinhvien



5. Xóa bảng (DROP TABLE)

Để xóa bảng ta sử dụng cú pháp:

CREATE TABLE [IF NOT EXISTS] table_name(
        /*column_list*/
) ENGINE=table_type
4.

khi bạn chạy lệnh này thì bảng sẽ được xóa khỏi database, đương nhiên toàn bộ dữ liệu nằm trong bảng cũng bị xóa theo.

6. Lời kết

Trong thực tế thì bạn có thể sử dụng các chương trình quản lý CSDL MySQL thông dụng như SQLYog hay thậm chí là PHPMyAdmin để tạo bảng thay vì sử dụng lệnh, nhưng nếu bạn muốn trở thành coder giỏi thì nên tìm hiểu, biết đâu sau này đi phỏng vấn thì còn biết đường trả lời. Bài này chúng ta tìm hiểu tới đây thôi, bài tiếp theo chúng ta sẽ tìm hiểu lệnh tạo khóa chính (primary key).Bài này chúng ta tìm hiểu tới đây thôi, bài tiếp theo chúng ta sẽ tìm hiểu lệnh tạo khóa chính (primary key).



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

Quảng cáo

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: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.: 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.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.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.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.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:sinhvienk60 bởi sử dụng PHP Script:



Tao bang trong MySQL


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


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: 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

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Hướng dẫn mysql create table - mysql tạo bảng

Hướng dẫn mysql create table - mysql tạo bảng

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học MySQL phổ biến khác tại VietJack::

  • Tạo Database
  • Xóa Database
  • Chọn cơ sở dữ liệu
  • Kiểu dữ liệu
  • Tạo bảng
  • Xóa bảng



Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất