PostgreSQL - TẠO Bảng
Câu lệnh PostgreSQL CREATE TABLE được sử dụng để tạo một bảng mới trong bất kỳ cơ sở dữ liệu đã cho.
Cú pháp
Cú pháp cơ bản của câu lệnh CREATE TABLE như sau:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE là một từ khóa, yêu cầu hệ thống cơ sở dữ liệu tạo một bảng mới. Tên hoặc mã định danh duy nhất cho bảng tuân theo câu lệnh CREATE TABLE. Ban đầu, bảng trống trong cơ sở dữ liệu hiện tại thuộc sở hữu của người dùng ban hành lệnh.
Sau đó, trong dấu ngoặc sẽ xuất hiện danh sách, xác định từng cột trong bảng và loại dữ liệu đó là. Cú pháp sẽ trở nên rõ ràng với một ví dụ dưới đây.
Ví dụ
Sau đây là một ví dụ, tạo một bảng COMPANY với ID là khóa chính và NOT NULL là các ràng buộc cho thấy rằng các trường này không thể là NULL khi tạo bản ghi trong bảng này -
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Hãy để chúng tôi tạo thêm một bảng, chúng tôi sẽ sử dụng bảng này trong các bài tập của mình trong các chương tiếp theo -
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
Bạn có thể xác minh xem bảng của mình đã được tạo thành công hay chưa bằng cách sử dụng \d lệnh này sẽ được sử dụng để liệt kê tất cả các bảng trong cơ sở dữ liệu đính kèm.
testdb-# \d
Câu lệnh PostgreSQL đã cho ở trên sẽ tạo ra kết quả sau:
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
Sử dụng \d tablename để mô tả từng bảng như hình dưới đây -
testdb-# \d company
Câu lệnh PostgreSQL đã cho ở trên sẽ tạo ra kết quả sau:
Table "public.company"
Column | Type | Modifiers
-----------+---------------+-----------
id | integer | not null
name | text | not null
age | integer | not null
address | character(50) |
salary | real |
join_date | date |
Indexes:
"company_pkey" PRIMARY KEY, btree (id)