ОСНОВЕН КЛЮЧ на SQL: Как да създадете и добавите към съществуваща таблица
Какво е първичен ключ в SQL?
Първичен ключ е поле или комбинация от полета, които уникално идентифицират запис. Първичният ключ е колона или набор от колони, които са уникални. С други думи, всяка стойност е уникална за първичен ключ.
Правила за първичен ключ
- Всяка таблица може да има само един SQL първичен ключ.
- Всички стойности са уникални и SQL стойността на първичния ключ може уникално да идентифицира всеки ред.
- Системата няма да позволи вмъкване на ред с първичен ключ на SQL Server, който вече съществува в таблицата.
- Първичният ключ не може да бъде NULL.
Диаграмата по-долу обобщава всички горепосочени точки за първичния ключ на SQL.
Как да създадете първичен ключ в SQL Server
Можем да създадем първичен ключ 2 начина:
1. Студио за управление на SQL Server
2. T-SQL: Създайте първичен, докато създавате нова таблица
Студио за управление на SQL Server
Стъпка 1) Щракнете с десния бутон върху името на таблицата. Кликнете върху Design.
Стъпка 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) Проверете успешно всички въведени данни, като изпълните заявката за избор.
Забележка: Можем да вмъкнем дублирани стойности в непървичния ключ.
Стъпка 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 колони.
Oбобщение
- Всяка таблица може да има само един първичен ключ
- Всички стойности са уникални, което може уникално идентифицира всеки ред.