English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Méthode d'utilisation et exemples de la clé FOREIGN KEY SQL

Référence des mots-clés SQL

FOREIGN KEY

La contrainte FOREIGN KEY est la clé pour joindre deux tables ensemble.

FOREIGN KEY est un champ (ou un ensemble de champs) dans une table, qui fait référence à la PRIMARY KEY d'une autre table.

SQL FOREIGN KEY sur CREATE TABLE

Lors de la création de la table "PersonID", le SQL suivant crée la contrainte FOREIGN KEY "Orders" sur la colonne :

MySQL :

CREATE TABLE Orders
(
   
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
   
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

SQL Server / Oracle / MS Access :

CREATE TABLE Orders
(
   
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
   
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);

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

MySQL / SQL Server / Oracle / MS Access :

CREATE TABLE Orders
(
   
OrderID int NOT NULL,
   
OrderNumber int NOT NULL,
   
PersonID int,
   
PRIMARY KEY (OrderID),
   
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
   
REFERENCES Persons(PersonID)
);

SQL FOREIGN KEY sur ALTER TABLE

Pour créer une contrainte FOREIGN KEY "Orders" sur la colonne "PersonID" après avoir créé la table, utilisez le SQL suivant :

MySQL / SQL Server / Oracle / MS Access :

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);

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

MySQL / SQL Server / Oracle / MS Access :

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);

Suppression de la contrainte FOREIGN KEY

Pour supprimer la contrainte FOREIGN KEY, utilisez le SQL suivant :

MySQL :

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access :

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

Référence des mots-clés SQL