ПЕРВИННИЙ КЛЮЧ SQL: Створення та додавання до існуючої таблиці
⚡ Розумний підсумок
Первинний ключ у SQL Server – це стовпець або набір стовпців, значення яких однозначно ідентифікують кожен рядок у таблиці. Кожна таблиця містить один первинний ключ, а її стовпці ніколи не повинні мати значення NULL.

Що таке первинний ключ у SQL?
Первинний ключ у SQL Server — це поле або комбінація полів, яка однозначно ідентифікує запис. Це стовпець або набір стовпців, у яких кожне значення унікальне. Іншими словами, жодні два рядки не можуть мати однакове значення первинного ключа.
Правила для первинного ключа
- Кожна таблиця може мати лише один первинний ключ.
- Усі значення унікальні, а значення первинного ключа може однозначно ідентифікувати кожен рядок.
- Система не дозволить вставити рядок, значення первинного ключа якого вже існує в таблиці.
- Первинний ключ не може бути NULL.
На діаграмі нижче підсумовано всі вищезазначені пункти щодо первинного ключа SQL.
Як створити первинний ключ у SQL Server
Ви можете створити первинний ключ двома способами:
- SQL Server Management Studio
- T-SQL: створення первинного ключа під час створення нової таблиці
Давайте детально вивчимо кожен метод.
SQL Server Management Studio
Крок 1) Клацніть правою кнопкою миші на назві таблиці та виберіть Дизайн.
Крок 2) Клацніть правою кнопкою миші на назві стовпця та виберіть Встановити первинний ключ.
Результат: Course_Id тепер є первинним ключем, що відображається значком ключа поруч зі стовпцем.
T-SQL: створення первинного ключа під час створення нової таблиці
Нижче наведено синтаксис для створити таблицю з первинним ключем з T-SQL.
Синтаксис:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Тут CONSTRAINT іменує ключ, PRIMARY KEY позначає стовпець, який має залишатися унікальним, і кожен стовпець також потребує тип даних.
Давайте створимо таблицю з одним стовпцем як первинним ключем SQL.
Запит:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Крок 1) Запустіть запит, натиснувши Виконати.
Результат: Course_Id тепер є первинним ключем у таблиці COURSE_TSQL_PK.
Приклад: Давайте перевіримо, чи дозволяється вводити кілька записів з однаковим ідентифікатором курсу.
Крок 1) Вставте чотири рядки з різними значеннями 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; якщо стовпець наразі дозволяє значення NULL, спочатку потрібно змінити його на NOT 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 стовпців.









