Palavra-chave SQL PRIMARY KEY
❮ Referência de palavras-chave SQL
CHAVE PRIMÁRIA
A PRIMARY KEY
restrição identifica exclusivamente cada registro em uma tabela.
Uma tabela pode ter apenas uma chave primária, que pode consistir em um único ou em vários campos.
SQL PRIMARY KEY em CREATE TABLE
O SQL a seguir cria uma PRIMARY KEY na coluna "ID" quando a tabela "Persons" é criada:
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Para permitir a nomeação de uma restrição PRIMARY KEY e para definir uma restrição PRIMARY KEY em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Nota: No exemplo acima existe apenas UMA CHAVE PRIMÁRIA (PK_Person). Porém, o VALOR da chave primária é composto por DUAS COLUNAS (ID + Sobrenome).
CHAVE PRIMÁRIA SQL em ALTER TABLE
Para criar uma restrição PRIMARY KEY na coluna "ID" quando a tabela já estiver criada, use o seguinte SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Para permitir a nomeação de uma restrição PRIMARY KEY e para definir uma restrição PRIMARY KEY em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Nota: Se você usar a instrução ALTER TABLE para adicionar uma chave primária, a(s) coluna(s) de chave primária já deve(m) ter sido declarada(s) para não conter valores NULL (quando a tabela foi criada pela primeira vez).
DROP uma restrição PRIMARY KEY
Para eliminar uma restrição PRIMARY KEY, use o seguinte SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
❮ Referência de palavras-chave SQL