ПЕРВИННИЙ КЛЮЧ SQL: як створити та додати до наявної таблиці
Що таке первинний ключ у SQL?
Первинний ключ це поле або комбінація полів, які унікально ідентифікують запис. Первинний ключ — це унікальний стовпець або набір стовпців. Іншими словами, кожне значення є унікальним для первинного ключа.
Правила для первинного ключа
- Кожна таблиця може мати лише один первинний ключ SQL.
- Усі значення є унікальними, і значення SQL первинного ключа може однозначно ідентифікувати кожен рядок.
- Система не дозволить вставити рядок із первинним ключем SQL Server, який уже існує в таблиці.
- Первинний ключ не може мати значення NULL.
Наведена нижче діаграма підсумовує всі вищезазначені моменти для первинного ключа SQL.

Як створити первинний ключ у SQL Server
Ми можемо створити первинний ключ 2 способи:
1. SQL Server Management Studio
2. T-SQL: Створення основного під час створення нової таблиці
SQL Server Management Studio
Крок 1) Клацніть правою кнопкою миші на назві таблиці. Натисніть на Дизайн.
Крок 2) Клацніть правою кнопкою миші на назві стовпця. Натисніть на 'Встановити первинний ключ'
Результат: Course_Id тепер a Первинний ключ.
T-SQL: створіть первинний ключ під час створення нової таблиці.
Нижче наведено синтаксис для створення таблиці з первинним ключем із T-SQL
Синтаксис:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Давайте створимо таблицю з одним стовпцем як первинним ключем SQL.
Запит:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Крок 1) Запустіть запит, натиснувши на "Виконати".
Результат: Course_Id тепер a Первинний ключ.
приклад: Давайте перевіримо, чи дозволяє він вводити кілька записів з однаковим ідентифікатором курсу.
Крок 1) Вставити 4 ряди с інший Course_ID
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');
Крок 2) Перевірте всі успішно вставлені дані, виконавши запит Select.
Примітка:: ми можемо вставляти повторювані значення в непервинний ключ.
Крок 3) Тепер давайте спробуємо вставити нові записи з наявним Course_ID, який є первинним ключем.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Результат: Система не дозволяє вставляти нове значення, оскільки 4 містить стовпець Course_ID, який є первинним ключем.
Як додати первинний ключ до існуючої таблиці в SQL?
Тепер ми побачимо, як додати первинний ключ до існуючої таблиці в SQL:
Ви можете використовувати інструкцію ALTER для створення первинного ключа. Однак первинний ключ можна створити лише для стовпців, які визначені як NOT NULL. Ви не можете створити первинний ключ для стовпця, який допускає значення NULL. Якщо вам потрібно це зробити, вам доведеться скинути та створити таблицю заново.
Ось синтаксис:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Наприклад:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Ми додали обмеження первинного ключа до вже існуючої таблиці. Обмеження додано до стовпця прийому та присвоєно назву students_pk.
Цікаві факти!
- Первинний ключ може бути комбінацією кількох стовпців. Ця комбінація відома як Складений первинний ключ.
- Первинний ключ може мати максимум 16 стовпців.
Підсумки
- Кожна таблиця може мати лише один первинний ключ
- Усі значення унікальні, що може однозначно ідентифікувати кожен рядок.








