Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Khóa chính SQL Server là gì? Tạo khóa chính trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu những điều cần biết về khóa chính trong SQL nhé!
Trong SQL Server (Transact-SQL), khóa chính là một trường hoặc kết hợp nhiều trường và được xác định là một bản ghi duy nhất. Không trường nào trong khóa chính được chứa giá trị NULL. Một bảng chỉ có duy nhất một khóa chính. Khóa chính có thể được định nghĩa bằng lệnh CREATE TABLE hoặc lệnh ALTER TABLE.
Cú pháp tạo khóa chính bằng lệnh CREATE TABLE
CREATE TABLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ], cot2 kieu_du_lieu [ NULL | NOT NULL ], ... );
hoặc
CREATE TABLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ], cot2 kieu_du_lieu [ NULL | NOT NULL ], … CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n) );
Ví dụ tạo khóa chính bằng lệnh CREATE TABLE
CREATE TABLE nhanvien ( nhanvien_id INT PRIMARY KEY, ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY );
Ở ví dụ này, khóa chính cho bảng nhanvien được tạo thành từ 1 trường là nhanvien_id. Ngoài ra có thể tạo khóa chính như sau:
CREATE TABLE nhanvien ( nhanvien_id INT, ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id) );
Bây giờ là ví dụ tạo khóa chính có nhiều hơn 1 trường trong SQL Server.
CREATE TABLE nhanvien ( ho VARCHAR(50) NOT NULL, ten VARCHAR(50), NOT NULL, luong MONEY CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten) );
Ở ví dụ này, chúng ta đã tạo khóa chính tạo thành từ 2 cột là ho và ten. 2 trường này sẽ xác định một cách duy nhất cho bản ghi trong bảng nhanvien.
Chỉ có thể tạo khóa chính bằng lệnh ALTER TABLE ở các cột đã được định nghĩa là NOT NULL. Nếu cột cho phép giá trị NULL, sẽ không thể thêm khóa chính nếu không xóa hoặc tạo lại bảng.
Cú pháp tạo khóa chính bằng lệnh ALTER TABLE
ALTER TABLE ten_bang ADD CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n);
Ví dụ tạo khóa chính bằng lệnh ALTER TABLE
ALTER TABLE nhanvien ADD CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id);
Trong ví dụ này, ta tạo khóa chính nhanvien_pk cho bảng nhanvien có sẵn, gồm trường nhanvien_id. Lưu ý là trường nhanvien_id phải được định nghĩa là NOT NULL trước đó, nếu không sẽ phải xóa và tạo lại bảng và định nghĩa trường này là NOT NULL.
Có thể tạo khóa chính với nhiều hơn 1 trường như trong ví dụ sau.
ALTER TABLE nhanvien ADD CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten);
Khóa chính cho bảng nhanvien gồm 2 trường là họ và tên. Cả 2 phải được định nghĩa là NOT NULL.
Cú pháp xóa khóa chính bằng lệnh ALTER TABLE
ALTER TABLE ten_bang DROP CONSTRAINT ten_rang_buoc;
Ví dụ xóa khóa chính bằng lệnh ALTER TABLE
ALTER TABLE nhanvien DROP CONSTRAINT nhanvien_pk;
Ví dụ trên xóa khóa chính nhanvien_pk trong bảng nhanvien.
Cú pháp vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
ALTER INDEX ten_rang_buoc ON ten_bang DISABLE;
Ví dụ vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
ALTER INDEX nhanvien_pk ON nhanvien DISABLE;
Ví dụ trên vô hiệu hóa khóa chính nhanvien_pk trong bảng nhanvien.
Cú pháp kích hoạt khóa chính bằng lệnh ALTER INDEX
ALTER INDEX ten_rang_buoc ON ten_bang REBUILD;
Ví dụ kích hoạt khóa chính bằng lệnh ALTER INDEX
ALTER INDEX nhanvien_pk ON nhanvien REBUILD;
Ví dụ trên kích hoạt lại khóa chính nhanvien_pk của bảng nhanvien
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
9 khóa học Generative AI tốt nhất nên tham gia vào năm 2026
13 ChatGPT prompt giúp học ngôn ngữ mới nhanh hơn
Giải thích giới hạn sử dụng Claude Code: Cách hoạt động và cách tránh chạm giới hạn
Prompt ChatGPT chỉnh sáng, mịn da, tăng nét và phục hồi ảnh
TOP công cụ, phần mềm AI phát triển game miễn phí
Prompt tạo bảng chuyên cần năm học
Ứng dụng ChatGPT desktop dành cho Linux có gì đặc biệt?
7 prompt tạo báo cáo phân tích màu sắc theo mùa dành riêng cho bạn
Hướng dẫn tạo ảnh sơ đồ lớp học trực quan
5 loại tài liệu bạn nên xử lý qua AI
Hướng dẫn tạo poster infograhic 3D tóm tắt nội dung trên Gemini
TOP công cụ AI tìm tài liệu nghiên cứu tốt nhất
10 tính năng nổi bật nhất của NotebookLM
Prompt soạn bài dạy môn Lịch sử theo Chương trình GDPT 2018
Cách vô hiệu hóa AI trên trình duyệt Microsoft Edge
Hướng dẫn tạo bài tập tiếng Anh từ SGK trên NotebookLM
Hướng dẫn gỡ Copilot hoàn toàn trên Windows 11
Cài đặt OpenClaw an toàn (Cách duy nhất bạn nên thực hiện)
Claude Cowork trên Windows có gì mới? Cách cài đặt ra sao?
25 dự án AI thú vị dành cho mọi trình độ