Maison > base de données > tutoriel mysql > Que signifie FOREIGN KEY et comment pouvons-nous l'utiliser dans les tables MySQL ?

Que signifie FOREIGN KEY et comment pouvons-nous l'utiliser dans les tables MySQL ?

王林
Libérer: 2023-09-06 13:53:02
avant
2450 Les gens l'ont consulté

FOREIGN KEY 是什么意思以及我们如何在 MySQL 表中使用它?

En fait, FOREIGN KEY est une colonne ou une combinaison de plusieurs colonnes qui peut être utilisée pour établir un lien entre les données de deux tables. En d’autres termes, on peut dire que la contrainte FOREIGN KEY est liée aux deux tables. Il est également utilisé pour améliorer l'intégrité des données car les clés primaires d'une table sont liées aux clés étrangères d'autres tables.

Syntaxe

FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);
Copier après la connexion

Ici REFERENCES est un mot-clé ; column_name est la liste des colonnes sur lesquelles FOREIGN KEY doit être définie ; table avec la clé primaire est le nom de la table contenant la clé primaire ; PRIMARY KEY a été défini.

Exemple

Supposons que nous ayons deux tables "Client" et "Commandes". La relation entre les deux tables peut être établie grâce à une clé étrangère dans la table « commandes » précisée par le champ « Cust_Id ». La requête pour créer deux tables est la suivante -

mysql> Create Table Customer(Cust_ID int Primary Key, First_name Varchar(20), Last_name  Varchar(20), City Varchar(10));
Query OK, 0 rows affected (0.13 sec)

mysql> Create Table Orders(Order_Id Int Primary Key, Product_Name Varchar(25), Orderdate DATE, Cust_ID Int, FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id));
Query OK, 0 rows affected (0.13 sec)

mysql> Describe Orders;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id     | int(11)     | NO   | PRI | NULL    |       |
| Product_Name | varchar(25) | YES  |     | NULL    |       |
| Orderdate    | date        | YES  |     | NULL    |       |
| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)
Copier après la connexion

Ici, la table "Client" est appelée table parent ou table de référence et la table "Commandes" est appelée table enfant ou table de référence. Les lignes de la table enfant doivent contenir des valeurs qui existent dans la table parent. Par exemple, chaque ligne du tableau « commandes » doit avoir un « Cust_Id » qui existe dans le tableau « client ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal