CREATE TABLE trong SQL Server
Trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh CREATE TABLE
trong SQL Server để tạo một bảng mới.
Giới thiệu về câu lệnh CREATE TABLE trong SQL Server
Bảng (table) được sử dụng để lưu trữ dữ liệu trong cơ sở dữ liệu (database). Các bảng được đặt tên duy nhất trong cơ sở dữ liệu và lược đồ. Mỗi bảng chứa một hoặc nhiều cột. Và mỗi cột có một kiểu dữ liệu xác định loại dữ liệu mà nó có thể lưu trữ, ví dụ: số, chuỗi hoặc dữ liệu tạm thời.
Để tạo một bảng mới, bạn sử dụng câu lệnh CREATE TABLE
như sau:
CREATE TABLE [database_name.][schema_name.]table_name (
pk_column data_type PRIMARY KEY,
column_1 data_type NOT NULL,
column_2 data_type,
...,
table_constraints
);
Trong cú pháp này:
- Đầu tiên, chỉ định tên của cơ sở dữ liệu mà bảng được tạo. Tên của
database_name
phải là tên của một cơ sở dữ liệu hiện có. Nếu bạn không chỉ định nó, thì giá trịdatabase_name
mặc định sẽ là cơ sở dữ liệu hiện tại. - Thứ hai, chỉ định tên lược đồ (schema) chứa bảng mới.
- Thứ ba, chỉ định tên của bảng mới.
- Thứ tư, mỗi bảng phải có một khóa chính bao gồm một hoặc nhiều cột. Thông thường, bạn liệt kê các cột khóa chính trước rồi đến các cột khác. Nếu khóa chính chỉ chứa một cột, bạn có thể sử dụng từ khóa
PRIMARY KEY
sau tên cột. Nếu khóa chính bao gồm hai hoặc nhiều cột, bạn cần chỉ định ràng buộcPRIMARY KEY
dưới dạng ràng buộc bảng. Mỗi cột có một kiểu dữ liệu liên quan được chỉ định sau tên của nó trong câu lệnh. Một cột có thể có một hoặc nhiều ràng buộc cột nhưNOT NULL
vàUNIQUE
. - Thứ năm, một bảng có thể có một số ràng buộc quy định tại phần ràng buộc bảng như
FOREIGN KEY
,PRIMARY KEY
,UNIQUE
vàCHECK
.
Lưu ý: Câu lệnh
CREATE TABLE
phức tạp và có nhiều tùy chọn hơn so với cú pháp ở trên. Chúng tôi sẽ giới thiệu dần đến bạn từng tùy chọn riêng biệt trong các bài hướng dẫn tiếp theo.
Ví dụ về CREATE TABLE trong SQL Server
Câu lệnh sau tạo một bảng mới có tên sales.visits
để theo dõi lượt ghé qua cửa hàng của khách hàng:
CREATE TABLE sales.visits (
visit_id INT PRIMARY KEY IDENTITY (1, 1),
first_name VARCHAR (50) NOT NULL,
last_name VARCHAR (50) NOT NULL,
visited_at DATETIME,
phone VARCHAR(20),
store_id INT NOT NULL,
FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);
Trong ví dụ này:
Bởi vì chúng tôi không chỉ định rõ ràng tên của cơ sở dữ liệu mà trong đó bảng được tạo, bảng sales.visits
được tạo trong cơ sở dữ liệu BikeStores
. Đối với lược đồ, chúng tôi chỉ định nó một cách rõ ràng, do đó, bảng lượt truy cập được tạo trong lược đồ sales
.
Bảng sales.visits
chứa 6 cột:
- Cột
visit_id
là cột khóa chính của bảng. LệnhIDENTITY(1,1)
trong SQL Server sẽ tự động tạo các số nguyên cho cột bắt đầu từ một và tăng thêm một cho mỗi hàng mới. - Các cột
first_name
vàlast_name
là các cột chuỗi ký tự có kiểuVARCHAR
. Các cột này có thể lưu trữ tối đa 50 ký tự. - Cột
visited_at
là một cột có kiểuDATETIME
ghi lại ngày tháng và thời gian mà khách hàng thăm cửa hàng. - Cột
phone
là một cột chuỗi ký tự có kiểuVARCHAR
chấp nhận giá trịNULL
. - Cột
store_id
lưu trữ mã định danh của các cửa hàng nơi khách hàng truy cập. - Ở cuối định nghĩa của bảng là một ràng buộc
FOREIGN KEY
. Khóa ngoại này đảm bảo rằng các giá trị trong cộtstore_id
của bảngvisits
phải có sẵn trong cộtstore_id
trong bảngstores
.
Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh CREATE TABLE
trong SQL Server để tạo một bảng mới trong cơ sở dữ liệu.