SQL PRIMARY KEY restrição
Restrição de chave primária identifica exclusivamente cada registro em uma tabela de banco de dados.
As chaves primárias deve conter valores exclusivos.
A coluna de chave primária não pode conter valores nulos.
A maioria das tabelas devem ter uma chave primária, e cada tabela pode ter apenas uma chave primária.
SQL PRIMARY KEY restrição sobre CREATE TABLE
O seguinte SQL cria uma chave primária na "P_Id" coluna quando a "Persons" tabela é criada:
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)
)
Para permitir a nomeação de uma restrição de chave primária e para a definição de uma restrição de chave primária em várias colunas, use a seguinte sintaxe 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)
)
Note: No exemplo acima, há apenas uma chave primária (pk_PersonID). No entanto, o valor da chave primária é composta de duas colunas (p_id + Apelido).
SQL PRIMARY KEY restrição sobre ALTER TABLE
Para criar uma restrição de chave primária na "P_Id" coluna quando a tabela já é criado, use o seguinte SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
Para permitir a nomeação de uma restrição de chave primária e para a definição de uma restrição de chave primária em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Note: Se você usar a instrução ALTER TABLE para adicionar uma chave primária, a coluna de chave primária (s) já deve ter sido declarado não contêm valores nulos (quando a tabela foi criada em primeiro lugar).
Para excluir uma restrição de chave primária
Para excluir 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_PersonID