Trong PostgreSQL, để tạo một bảng (table), bạn sử dụng lệnh CREATE TABLE
. Dưới đây là cú pháp cơ bản để tạo một bảng:
CREATE TABLE table_name (
column1_name data_type [constraints],
column2_name data_type [constraints],
...
columnN_name data_type [constraints]
);
Giải thích các phần trong cú pháp:
table_name
: Tên của bảng mà bạn muốn tạo.
column1_name
, column2_name
, …, columnN_name
: Tên các cột trong bảng.
data_type
: Kiểu dữ liệu cho mỗi cột (ví dụ: INTEGER
, VARCHAR
, DATE
, BOOLEAN
, v.v.).
constraints
: Các ràng buộc (nếu cần) cho cột, chẳng hạn như PRIMARY KEY
, NOT NULL
, UNIQUE
, FOREIGN KEY
, v.v.
Ví dụ về tạo bảng
Giả sử bạn muốn tạo một bảng employees
để lưu thông tin về nhân viên, bảng này có các cột id
, name
, email
, và hire_date
. Bạn có thể sử dụng cú pháp sau:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
hire_date DATE DEFAULT CURRENT_DATE
);
Giải thích ví dụ:
id SERIAL PRIMARY KEY
: Cột id
là kiểu dữ liệu SERIAL
, tự động tăng và là khóa chính cho bảng.
name VARCHAR(100) NOT NULL
: Cột name
có kiểu dữ liệu là chuỗi ký tự với độ dài tối đa 100 ký tự và không được để trống.
email VARCHAR(100) UNIQUE NOT NULL
: Cột email
cũng là chuỗi ký tự với độ dài tối đa 100 ký tự, không được để trống và phải là duy nhất trong bảng.
hire_date DATE DEFAULT CURRENT_DATE
: Cột hire_date
có kiểu dữ liệu ngày và mặc định là ngày hiện tại.
Một số kiểu dữ liệu phổ biến
INTEGER
: Kiểu số nguyên.
SERIAL
: Kiểu số nguyên tự động tăng.
VARCHAR(n)
: Chuỗi ký tự có độ dài tối đa n
.
TEXT
: Chuỗi ký tự không giới hạn độ dài.
DATE
: Kiểu dữ liệu cho ngày tháng.
BOOLEAN
: Kiểu dữ liệu cho giá trị true/false.
Các ràng buộc phổ biến
PRIMARY KEY
: Ràng buộc chỉ ra rằng cột là khóa chính, không được để trống và phải duy nhất.
FOREIGN KEY
: Ràng buộc chỉ ra rằng cột tham chiếu đến khóa chính của bảng khác.
NOT NULL
: Ràng buộc chỉ ra rằng cột không được để trống.
UNIQUE
: Ràng buộc chỉ ra rằng giá trị trong cột phải là duy nhất trong bảng.
Kết luận
Lệnh CREATE TABLE
trong PostgreSQL là một công cụ quan trọng để định nghĩa cấu trúc của dữ liệu trong cơ sở dữ liệu. Bạn có thể sử dụng các kiểu dữ liệu và ràng buộc khác nhau để đảm bảo tính toàn vẹn và hợp lệ của dữ liệu.