Первинний ключ (PRIMARY KEY) в SQL

  |
 9668

В SQL обмеження PRIMARY KEY використовується для унікальної ідентифікації рядків.

Обмеження PRIMARY KEY — це просто комбінація обмежень NOT NULL та UNIQUE. Це означає, що стовпець не може містити значення, що повторюються, а також значення NULL.

Синтаксис створення первинного ключа:

Тут стовпець college_id має первинний ключ. Це означає, що значення цього стовпця повинні бути унікальними, а також не містити значення NULL.

Примітка: Синтаксис створення первинного ключа може відрізнятися в різних СУБД.

Помилка первинного ключа

Якщо ми спробуємо вставити нульові або повторювані значення в стовпець з первинним ключем, то отримаємо помилку. Наприклад:

Тут SQL видасть помилку, тому що не можна вставити повторюване значення для поля college_id через обмеження UNIQUE.

Примітка: У таблиці може бути лише один первинний ключ.

Первинний ключ для декількох стовпців

Первинний ключ можна додати відразу декільком стовпцям. Наприклад:

Тут обмеження PRIMARY KEY з ім’ям CollegePK складається із стовпців college_id та college_code. Це означає, що стовпці college_id і college_code повинні мати унікальні значення і не можуть містити значення NULL.

Тепер спробуємо вставити дані до таблиці Colleges:

PRIMARY KEY з оператором ALTER TABLE

Ми також можемо додати обмеження PRIMARY KEY до стовпця в уже існуючій таблиці за допомогою оператора ALTER TABLE. Наприклад:

Для одного стовпця

Для декількох стовпців

Тут ми додаємо обмеження PRIMARY KEY до вказаних стовпців у існуючій таблиці.

Автоінкремент первинного ключа

Звичайною практикою є автоматичне збільшення значення первинного ключа при вставці нового рядка. Наприклад:

SQL Server

Oracle

MySQL

PostgreSQL

Видалити первинний ключ

Ми можемо видалити обмеження PRIMARY KEY у таблиці за допомогою оператора DROP. Наприклад:

SQL Server, Oracle

MySQL

Тут ми видаляємо обмеження PRIMARY KEY з таблиці Colleges.

Оцінити статтю:

1 Зірка2 Зірки3 Зірки4 Зірки5 Зірок (10 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

Ваш E-mail не буде опублікований. Обов'язкові поля відмічені *