Database
 sql >> база данни >  >> RDS >> Database

SQL първичен ключ

Поле, което съдържа уникални данни в таблица, се нарича ПЪРВИЧЕН КЛЮЧ (PK). Това означава, че полето PRIMARY KEY трябва да съдържа уникални данни в таблицата.

  • Полето ПЪРВЕН КЛЮЧ съдържа стойности на всеки ред.
  • Полето PRIMARY KEY не може да съдържа празен низ.
  • Данните за ПЪРВИЧЕН КЛЮЧ никога не се променят с течение на времето.
  • Една таблица може да се състои само от един ПЪРВИЧЕН КЛЮЧ, който може да се състои от едно или няколко полета в таблицата. Когато повече от една колона се използва като ПЪРВИЧЕН КЛЮЧ на таблицата, те са известни като съставен ключ в таблицата.
  • Няма да има дублирани записи за ПЪРВИЧЕН КЛЮЧ.
  • Ако поле е зададено като ПРАВИЛЕН КЛЮЧ в таблицата, това поле не може да съдържа стойностите на едно и също поле повече от веднъж в таблицата.

Например, имаме таблица на Student в базата данни. Таблицата съдържа 4 полета Student_Id, Student_Name, Phone_Number и Email. Student_Id и Email е ОСНОВНИЯТ КЛЮЧ в таблицата Student. Има само един ПЪРВИЧЕН КЛЮЧ, но може да има едно или няколко полета в таблицата, както казахме по-горе. Данните на един ученик вече присъстват в таблицата, но същият ученик добавя данните си отново със същия имейл ID. Докато ученикът въвежда подробности, изскачащ прозорец ще покаже съобщение „Имейл вече съществува“. Показва се, защото имейлът вече е съществувал в таблицата и полето за имейл е ПЪРВИЧНИЯ КЛЮЧ, а ПРАВИЛНИЯТ КЛЮЧ не може да съдържа дублиращи се стойности.

Създайте ПЪРВИЧЕН КЛЮЧ в SQL ТАБЛИЦА

Следната SQL заявка създава ПЪРВЕН КЛЮЧ в полето Employee_Id, когато е създадена таблицата „Employee“.

CREATE TABLE Employee( Employee_Id int PRIMARY KEY, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40) );        

Горната заявка е дефинирала PRIMARY KEY към полето Employee_Id. Можем да споменем името на ключа след името на полето и типа данни. Горната заявка е единственият начин да създадем Employee_Id като ОСНОВЕН КЛЮЧ.

За да проверим дали нашият PRIMARY KEY е дефиниран успешно или не, можем да използваме командата DESC, последвана от името на таблицата Employee.

Служител на DESC;

Полета Тип Null Ключ По подразбиране Допълнително
Идентификатор_на_служител Int(11) НЕ PRI NULL
Име_на_служител Варчар(40) НЕ NULL
Заплата Int(11) НЕ NULL
Отдел Варчар(40) ДА NULL
Град Варчар(40) ДА NULL

Ключовото поле PRI се споменава пред реда Employee_Id, което означава, че Employee_Id е успешно дефиниран като ПРАВИЛЕН КЛЮЧ.

Предимства от използването на PRIMARY KEY в таблицата:

  1. Бърз достъп до данните от таблицата.
  2. Дублиращи се стойности не са разрешени в полетата ПЪРВЕН КЛЮЧ.

Друг начин за създаване на ПЪРВИЧЕН КЛЮЧ

CREATE TABLE Employee( Employee_Id int NOT NULL, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40), PRIMARY KEY(Employee_ID) );

В същата заявка, както по-горе, трябва да споменем NOT NULL пред името на полето, което е създадено като ПЪРВИЧЕН КЛЮЧ, и в края трябва да напишем ключовата дума PRIMARY KEY и името на полето в скоби точно както по-горе заявка.

Създайте ограничение PRIMARY KEY за полетата, когато таблицата вече съществува

Използвайте следната заявка:

ALTER TABLE Employee ADD PRIMARY KEY(Employee_Id);

Използвайки заявката ALTER TABLE за дефиниране на PRIMARY KEY, полето PRIMARY KEY вече е декларирано с ограничение NOT NULL.

ПРАВИЛЕН КЛЮЧ на SQL върху множество колони

Следната SQL заявка създава ПЪРВЕН КЛЮЧ в повече от една колона, когато е създадена таблицата „Студент“.

CREATE TABLE Student( Student_Id int NOT NULL, Student_Name varchar(40), Department varchar(40), Phone_Number int(10), Email varchar(100) NOT NULL, PRIMARY KEY(Student_ID, Email));
СЪЗДАДЕТЕ ТАБЛИЦА Студент>

Само един ПЪРВИЧЕН КЛЮЧ е направен в примера на Student_Id и Email.

За да проверим дали нашият PRIMARY KEY е дефиниран успешно или не, можем да използваме командата DESC, последвана от името на таблицата на Student.

DESC Student;
Полета Тип Null Ключ По подразбиране Допълнително
Идентификационен номер на ученика Int(11) НЕ PRI NULL
Име_ученик Варчар(40) ДА NULL
Отдел Варчар(40) ДА NULL
Телефонен номер Int(10) ДА NULL
Имейл Варчар(100) НЕ PRI NULL

Както можем да видим пред реда Student_Id и Email, ключовите полета PRI са споменати, което означава, че Student_Id и Email са успешно дефинирани като PRIMARY KEY.

Сега ще изпълним SHOW CREATE TABLE, последвано от името на таблицата на ученика, което ще опише таблицата на учениците.

SHOW CREATE TABLE Student;

В горния изход можем да видим, че е създаден само един ПЪРВИЧЕН КЛЮЧ, а в скоби се споменава името на полетата, което се създава като ПЪРВИЧЕН КЛЮЧ при създаването на таблицата.

Да предположим, че искаме да премахнем ограничението PRIMARY KEY от таблицата на учениците. Ще използваме следната заявка, за да премахнем ограничението PRIMARY KEY:

ALTER TABLE Student DROP PRIMARY KEY;

За да проверим дали нашият ПЪРВИЧЕН КЛЮЧ е успешно премахнат или не, ще използваме командата DESC, последвана от името на таблицата на ученика.

DESC Student;
Полета Тип Null Ключ По подразбиране Допълнително
Идентификационен номер на ученика Int(11) НЕ NULL
Име_ученик Варчар(40) ДА NULL
Отдел Варчар(40) ДА NULL
Телефонен номер Int(10) ДА NULL
Имейл Варчар(100) НЕ NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защитете своите Mongo клъстери с SSL

  2. Най-близкото съвпадение, част 1

  3. Как да създадете репликация на транзакции

  4. Свързване на Delphi към Salesforce.com

  5. Форматиране на данни в Power BI Desktop Visualizations