SQL PRIMARY KEY: Создание и добавление в существующую таблицу
⚡ Умное резюме
Первичный ключ в SQL Server — это столбец или набор столбцов, значения которых однозначно идентифицируют каждую строку в таблице. Каждая таблица содержит один первичный ключ, и значения в её столбцах никогда не должны быть равны NULL.

Что такое первичный ключ в SQL?
Первичный ключ в SQL Server Первичный ключ — это поле или комбинация полей, которые однозначно идентифицируют запись. Это столбец или набор столбцов, в которых каждое значение уникально. Другими словами, две строки не могут иметь одинаковое значение первичного ключа.
Правила для первичного ключа
- Каждая таблица может иметь только один первичный ключ.
- Все значения уникальны, и значение первичного ключа может однозначно идентифицировать каждую строку.
- Система не позволит вставить строку, значение первичного ключа которой уже существует в таблице.
- Первичный ключ не может быть равен NULL.
Приведенная ниже диаграмма суммирует все вышеперечисленные моменты, касающиеся первичного ключа SQL.
Как создать первичный ключ в SQL Server
Создать первичный ключ можно двумя способами:
- Студия управления SQL Server
- T-SQL: создание первичного ключа при создании новой таблицы
Давайте подробно рассмотрим каждый метод.
Студия управления SQL Server
Шаг 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');
Результат: Система не позволяет вставить новое значение, поскольку в столбце Course_ID, являющемся первичным ключом, уже существует значение 4.
Как добавить первичный ключ к существующей таблице в 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);
Мы добавили ограничение первичного ключа в уже существующую таблицу. Ограничение было добавлено в столбец поступления, и ему присвоено имя Student_pk.
Интересные факты!
- Первичный ключ может представлять собой комбинацию нескольких столбцов. Такая комбинация известна как составной первичный ключ.
- Первичный ключ может содержать максимум 16 столбцов.









