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ệulượ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ộc PRIMARY 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 NULLUNIQUE.
  • 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, UNIQUECHECK.
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ệnh IDENTITY(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_namelast_name là các cột chuỗi ký tự có kiểu VARCHAR. 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ểu DATETIME 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ểu VARCHAR 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ột store_id của bảng visits phải có sẵn trong cột store_id trong bảng stores.

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.

SQL Server
Bài Viết Liên Quan:
Sequence trong SQL Server
Trung Nguyen 31/07/2021
Sequence trong SQL Server

Trong hướng dẫn này, bạn sẽ tìm hiểu về các đối tượng Sequence trong SQL Server để tạo ra một chuỗi các giá trị số dựa trên một đặc tả cụ thể.

Cột Identity trong SQL Server
Trung Nguyen 30/07/2021
Cột Identity trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng thuộc tính IDENTITY trong SQL Server để thêm cột định danh vào bảng.

Ràng buộc NOT NULL trong SQL Server
Trung Nguyen 28/07/2021
Ràng buộc NOT NULL trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng ràng buộc NOT NULL trong SQL Server để đảm bảo một cột không chứa dữ liệu NULL.

Ràng buộc UNIQUE trong SQL Server
Trung Nguyen 27/07/2021
Ràng buộc UNIQUE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng ràng buộc UNIQUE trong SQL Server để đảm bảo tính duy nhất của dữ liệu.