SQL PRIMARY KEYContraintes


Contrainte SQL PRIMARY KEY

La contrainte PRIMARY KEY identifie de manière unique chaque enregistrement dans une table de base de données.

PRIMARY KEY doit contenir des valeurs uniques et ne peut pas contenir de valeurs NULL.

Chaque table ne peut avoir qu'une seule PRIMARY KEY, qui peut être constituée d'une seule colonne ou de plusieurs colonnes.


Contrainte SQL PRIMARY KEY sur CREATE TABLE

Le code SQL suivant crée une contrainte PRIMARY KEY sur la colonne "P_Id" lorsque la table "Persons" est créée :

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)
)

Pour nommer une contrainte PRIMARY KEY, et pour définir une contrainte PRIMARY KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

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)
)

Remarque :Dans l'exemple ci-dessus, il n'y a qu'une seule PRIMARY KEY (pk_PersonID). Toutefois, la valeur de pk_PersonID est composée de deux colonnes (P_Id et LastName).


Contrainte PRIMARY KEY SQL sur ALTER TABLE

Lorsque la table a déjà été créée, pour créer une contrainte PRIMARY KEY sur la colonne "P_Id", utilisez le SQL suivant :

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

Pour nommer une contrainte PRIMARY KEY, et pour définir une contrainte PRIMARY KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

MySQL / SQL Server / Oracle / MS Access:

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

Remarque :Si vous utilisez l'instruction ALTER TABLE pour ajouter une clé primaire, vous devez déclarer la colonne de clé primaire comme ne contenant pas de valeurs NULL (lorsque la table a été créée au départ).


Supprimer la contrainte PRIMARY KEY

Pour supprimer une contrainte PRIMARY KEY, utilisez le SQL suivant :

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
Autres extensions