A PRIMARY KEY (Chave Primária) é uma constraint utilizada para identificar cada registro de forma única dentro de uma tabela.
Nenhum valor da chave primária pode ser repetido ou nulo.
| Característica | Descrição |
|---|---|
| Única | Não permite valores repetidos |
| Obrigatória | Não aceita NULL |
| Identificadora | Diferencia cada registro |
| Relacionável | Pode ser referenciada por FOREIGN KEY |
CREATE TABLE tabela (
coluna INT PRIMARY KEY
);
CREATE TABLE alunos (
id INT PRIMARY KEY,
nome VARCHAR(100),
idade INT
);
O campo id será responsável por identificar cada aluno.
| ID | Nome | Idade |
|---|---|---|
| 1 | João | 18 |
| 2 | Maria | 20 |
| 3 | Carlos | 19 |
Observe que cada registro possui um identificador único.
O MySQL não permitirá inserir um valor já existente na chave primária.
INSERT INTO alunos
VALUES (1, 'Ana', 21);
Em alguns casos a chave primária pode ser formada por mais de uma coluna.
CREATE TABLE matriculas (
aluno_id INT,
disciplina_id INT,
PRIMARY KEY (aluno_id, disciplina_id)
);
A combinação dos dois campos torna cada registro único.
| PRIMARY KEY | UNIQUE |
|---|---|
| Apenas uma por tabela | Várias por tabela |
| Não aceita NULL | Pode aceitar NULL |
| Identifica o registro | Garante exclusividade |
CREATE TABLE clientes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100)
);
O MySQL gerará automaticamente novos identificadores.