SQL PRIMARY KEYОграничения


Ограничение PRIMARY KEY в SQL

Ограничение PRIMARY KEY уникально идентифицирует каждую запись в таблице базы данных.

PRIMARY KEY должен содержать уникальные значения и не может содержать значения NULL.

Каждая таблица может иметь только один PRIMARY KEY, который может состоять из одного столбца или нескольких столбцов.


Ограничение PRIMARY KEY в SQL при CREATE TABLE

Следующая инструкция SQL создаёт ограничение PRIMARY KEY для столбца "P_Id" при создании таблицы "Persons":

MySQL:

CREATE TABLE Persons
(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (P_Id)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
    P_Id int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
)

Чтобы дать имя ограничению PRIMARY KEY и определить ограничение PRIMARY KEY для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

Примечание:В приведенном выше примере есть только один PRIMARY KEY (pk_PersonID). Однако значение pk_PersonID состоит из двух столбцов (P_Id и LastName).


Ограничение PRIMARY KEY в SQL при ALTER TABLE

Когда таблица уже создана, чтобы создать ограничение PRIMARY KEY для столбца "P_Id", используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

Чтобы дать имя ограничению PRIMARY KEY и определить ограничение PRIMARY KEY для нескольких столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

Примечание:Если вы используете оператор ALTER TABLE для добавления первичного ключа, вы должны объявить столбец первичного ключа как не содержащий значений NULL (при первоначальном создании таблицы).


Удаление ограничения PRIMARY KEY

Чтобы удалить ограничение PRIMARY KEY, используйте следующий SQL:

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
Другие расширения