KHÓA CHÍNH SQL: Cách tạo và thêm vào bảng hiện có
Khóa chính trong SQL là gì?
Khóa chính là một trường hoặc tổ hợp các trường xác định một bản ghi duy nhất. Khóa chính là một cột hoặc tập hợp các cột duy nhất. Nói cách khác, mọi giá trị là duy nhất cho Khóa chính.
Quy tắc cho khóa chính
- Mỗi bảng chỉ có thể có một Khóa chính SQL.
- Tất cả các giá trị là duy nhất và giá trị SQL khóa chính có thể xác định duy nhất từng hàng.
- Hệ thống sẽ không cho phép chèn một hàng có Khóa chính của SQL Server đã tồn tại trong bảng.
- Khóa chính không thể là NULL.
Sơ đồ dưới đây tóm tắt tất cả các điểm trên cho Khóa chính SQL.
Cách tạo khóa chính trong SQL Server
Chúng ta có thể tạo khóa chính trong 2 cách:
2. T-SQL: Tạo Primary trong khi tạo Bảng mới
Xưởng quản lý máy chủ SQL
Bước 1) Nhấp chuột phải vào tên Bảng. Bấm vào Thiết kế.
Bước 2) Nhấp chuột phải vào tên Cột. Bấm vào 'Đặt khóa chính'
Kết quả: Course_Id hiện là một Khóa chính.
T-SQL: Tạo khóa chính trong khi tạo Bảng mới.
Dưới đây là cú pháp tạo bảng với Primary Key từ T-SQL
Cú pháp:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Hãy tạo một Bảng có một cột làm Khóa chính SQL.
truy vấn:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Bước 1) Chạy truy vấn bằng cách nhấp vào 'Hành hình.'
Kết quả: Course_Id hiện là một Khóa chính.
Ví dụ: Hãy xem liệu nó có cho phép nhập nhiều bản ghi với cùng một ID khóa học hay không.
Bước 1) Chèn 4 hàng với khóa học_ID khác
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Bước 2) Xác minh tất cả Dữ liệu được chèn thành công bằng cách chạy truy vấn Chọn.
Chú thích: Chúng ta có thể chèn các giá trị trùng lặp vào khóa Không chính.
Bước 3) Bây giờ hãy thử Chèn bản ghi mới với Course_ID hiện có là Khóa chính.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Kết quả: Hệ thống không cho phép chèn giá trị mới vì cột Course_ID là 4, là Khóa chính.
Làm cách nào để thêm khóa chính vào bảng hiện có trong SQL?
Bây giờ chúng ta sẽ xem cách thêm Khóa chính vào bảng hiện có trong SQL:
Bạn có thể sử dụng câu lệnh ALTER để tạo khóa chính. Tuy nhiên, khóa chính chỉ có thể được tạo trên các cột được xác định là NOT NULL. Bạn không thể tạo khóa chính trên cột cho phép NULL. Nếu cần, bạn phải thả và tạo lại bảng.
Đây là cú pháp:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Ví dụ:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Chúng tôi đã thêm ràng buộc khóa chính vào một bảng đã tồn tại. Ràng buộc đã được thêm vào cột nhập học và được gán tên là Students_pk.
Sự thật thú vị!
- Khóa chính có thể là sự kết hợp của nhiều cột. Sự kết hợp này được gọi là Khóa chính tổng hợp.
- Khóa chính có thể có tối đa 16 cột.
Tổng kết
- Mỗi Bảng chỉ có thể có một Khóa chính
- Tất cả các giá trị là duy nhất có thể xác định duy nhất mỗi hàng.