SQL (Structured Query Language) là một ngôn ngữ quản lý cơ sở dữ liệu được sử dụng rộng rãi để tương tác với các hệ quản trị cơ sở dữ liệu (DBMS). Một trong những tác vụ cơ bản và quan trọng trong SQL là tạo bảng để lưu trữ và quản lý dữ liệu. Để tạo bảng trong SQL, bạn cần sử dụng lệnh CREATE TABLE
. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo bảng trong SQL một cách dễ thực hiện và chi tiết.
1. Tổng Quan Về SQL và Bảng Cơ Sở Dữ Liệu
SQL là ngôn ngữ được sử dụng để quản lý và thao tác dữ liệu trong cơ sở dữ liệu. SQL cho phép người dùng thực hiện các thao tác như chọn dữ liệu (SELECT
), thêm dữ liệu mới (INSERT
), cập nhật dữ liệu (UPDATE
), xóa dữ liệu (DELETE
), và tạo hoặc thay đổi cấu trúc cơ sở dữ liệu, ví dụ như tạo bảng (CREATE TABLE
).
Một bảng trong cơ sở dữ liệu SQL là một tập hợp các dữ liệu có cấu trúc, được lưu trữ dưới dạng các hàng và cột. Mỗi bảng có một tên duy nhất và mỗi cột trong bảng có kiểu dữ liệu xác định. Các bảng này giúp tổ chức dữ liệu một cách có hệ thống và dễ dàng quản lý.
2. Cú Pháp Cơ Bản Của Lệnh CREATE TABLE
Lệnh CREATE TABLE
là lệnh SQL cơ bản nhất dùng để tạo một bảng mới trong cơ sở dữ liệu. Cú pháp cơ bản của lệnh này như sau:
CREATE TABLE tên_bảng (
tên_cột1 kiểu_dữ_liệu [ràng_buộc],
tên_cột2 kiểu_dữ_liệu [ràng_buộc],
...
tên_cộtN kiểu_dữ_liệu [ràng_buộc]
);
- tên_bảng: Tên của bảng mà bạn muốn tạo. Tên bảng phải là duy nhất trong cơ sở dữ liệu.
- tên_cột: Tên của mỗi cột trong bảng.
- kiểu_dữ_liệu: Kiểu dữ liệu của cột (ví dụ:
INT
,VARCHAR
,DATE
,DECIMAL
, v.v.). - ràng_buộc: Các ràng buộc cho cột (ví dụ:
NOT NULL
,PRIMARY KEY
,DEFAULT
,CHECK
, v.v.).
>>> Xem thêm: Các thao tác cơ bản với cơ sở dữ liệu và bảng trong SQL Server
3. Các Kiểu Dữ Liệu Thường Dùng Trong SQL


Khi tạo bảng trong SQL, bạn cần phải chỉ định kiểu dữ liệu cho từng cột trong bảng. Dưới đây là một số kiểu dữ liệu phổ biến:
- INT: Kiểu dữ liệu số nguyên, dùng để lưu trữ các giá trị số không có phần thập phân.
- VARCHAR(n): Kiểu dữ liệu chuỗi có độ dài tối đa là
n
ký tự. Thường dùng để lưu trữ tên, địa chỉ, email, v.v. - TEXT: Kiểu dữ liệu chuỗi dài, dùng để lưu trữ văn bản dài hơn so với
VARCHAR
. - DATE: Kiểu dữ liệu dùng để lưu trữ ngày tháng.
- DECIMAL(p, s): Kiểu dữ liệu số thực với độ chính xác cao, nơi
p
là tổng số chữ số vàs
là số chữ số sau dấu thập phân.
>>> Xem thêm: Mô tả chung về ngôn ngữ SQL, các hệ quản trị cơ sở dữ liệu cơ bản có sử dụng ngôn ngữ SQL
4. Ví Dụ Cơ Bản Về Cách Tạo Bảng Trong SQL
Để giúp bạn dễ dàng làm quen với việc tạo bảng trong SQL, chúng ta sẽ cùng nhau tạo một bảng đơn giản.
Ví dụ 1: Tạo bảng SinhVien
Giả sử bạn muốn tạo một bảng để lưu trữ thông tin của các sinh viên trong một trường học. Bảng này sẽ có các cột như ID
, HoTen
, NgaySinh
. Dưới đây là cách tạo bảng này:
CREATE TABLE SinhVien (
ID INT PRIMARY KEY,
HoTen VARCHAR(100),
NgaySinh DATE
);
Trong ví dụ trên:
- ID: Là cột kiểu số nguyên (
INT
), dùng để lưu trữ mã sinh viên. Đây là khóa chính (PRIMARY KEY
), giúp đảm bảo mỗi sinh viên có một mã duy nhất. - HoTen: Là cột kiểu chuỗi (
VARCHAR
), dùng để lưu trữ tên sinh viên. Độ dài tối đa của tên sinh viên là 100 ký tự. - NgaySinh: Là cột kiểu ngày tháng (
DATE
), dùng để lưu trữ ngày sinh của sinh viên.
5. Thêm Các Ràng Buộc (Constraints)


Trong khi tạo bảng, bạn có thể áp dụng các ràng buộc (constraints) để đảm bảo tính toàn vẹn của dữ liệu. Các ràng buộc thường dùng bao gồm:
- PRIMARY KEY: Xác định một cột hoặc một tập hợp các cột duy nhất để làm khóa chính của bảng.
- NOT NULL: Đảm bảo rằng cột không chứa giá trị
NULL
(không có giá trị). - UNIQUE: Đảm bảo rằng tất cả các giá trị trong cột là duy nhất.
- DEFAULT: Gán một giá trị mặc định cho cột nếu không có giá trị nào được nhập.
- CHECK: Đảm bảo rằng giá trị trong cột thỏa mãn một điều kiện cụ thể.
Ví dụ 2: Tạo bảng NhanVien với các ràng buộc
Giả sử bạn muốn tạo một bảng để lưu trữ thông tin nhân viên, với các cột ID
, HoTen
, Luong
, và NgayVaoLam
. Cột Luong
phải có giá trị mặc định là 0 và không thể nhỏ hơn 0, trong khi NgayVaoLam
không thể là NULL
. Câu lệnh SQL sẽ như sau:
CREATE TABLE NhanVien (
ID INT PRIMARY KEY,
HoTen VARCHAR(100) NOT NULL,
Luong DECIMAL(10, 2) DEFAULT 0.00 CHECK (Luong >= 0),
NgayVaoLam DATE NOT NULL
);
Trong ví dụ này:
- Luong: Cột này có kiểu dữ liệu
DECIMAL(10, 2)
, cho phép lưu trữ số thực với tổng cộng 10 chữ số, trong đó có 2 chữ số sau dấu thập phân. Giá trị mặc định là0.00
, và cột này cũng có ràng buộcCHECK
để đảm bảo rằng lương không thể nhỏ hơn 0. - NgayVaoLam: Cột này có kiểu
DATE
và không thể để trống (NOT NULL
).
6. Tạo Bảng Với Khóa Ngoại (Foreign Key)


Khóa ngoại (foreign key) được sử dụng để liên kết giữa các bảng. Khóa ngoại đảm bảo rằng giá trị trong một cột phải tồn tại trong cột khóa chính của bảng khác.
Ví dụ 3: Tạo bảng DonHang với khóa ngoại
Giả sử bạn có một bảng KhachHang
lưu trữ thông tin khách hàng và một bảng DonHang
lưu trữ thông tin đơn hàng. Bạn muốn liên kết bảng DonHang
với bảng KhachHang
thông qua khóa ngoại MaKhachHang
.
CREATE TABLE KhachHang (
MaKhachHang INT PRIMARY KEY,
TenKhachHang VARCHAR(100) NOT NULL
);
CREATE TABLE DonHang (
MaDonHang INT PRIMARY KEY,
MaKhachHang INT,
NgayDatHang DATE,
FOREIGN KEY (MaKhachHang) REFERENCES KhachHang(MaKhachHang)
);
- KhachHang: Bảng này có cột
MaKhachHang
là khóa chính. - DonHang: Bảng này có cột
MaDonHang
là khóa chính vàMaKhachHang
là khóa ngoại, liên kết đến cộtMaKhachHang
trong bảngKhachHang
.
>>> Xem thêm: Khóa học MySQL đỉnh cao: Làm chủ SQL từ cơ bản đến nâng cao
7. Kiểm Tra và Thực Hiện Lệnh Tạo Bảng
Sau khi đã viết xong câu lệnh CREATE TABLE
, bạn có thể thực thi nó trong công cụ quản lý cơ sở dữ liệu của bạn (ví dụ: MySQL Workbench, SQL Server Management Studio, hoặc pgAdmin). Nếu lệnh thực thi thành công, bảng mới sẽ được tạo trong cơ sở dữ liệu và bạn có thể bắt đầu chèn dữ liệu vào bảng đó.
8. Kết Luận
Việc tạo bảng trong SQL là một bước cơ bản nhưng rất quan trọng khi làm việc với cơ sở dữ liệu. Qua bài viết này, bạn đã hiểu được cách tạo bảng, các kiểu dữ liệu phổ biến, các ràng buộc thường dùng, và cách sử dụng khóa ngoại để liên kết các bảng. Khi làm việc với SQL, bạn có thể tạo ra các bảng phức tạp hơn với các điều kiện kiểm tra và các quan hệ giữa các bảng, giúp tổ chức dữ liệu một cách hiệu quả và dễ dàng quản lý.
Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX ở đây:
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/sql-create-table/
Bình luận (
)