Maison  >  Article  >  base de données  >  clé étrangère de requête mysql

clé étrangère de requête mysql

WBOY
WBOYoriginal
2023-05-14 10:09:072628parcourir

MySQL est un système de gestion de bases de données relationnelles, et les clés étrangères sont l'un des concepts importants des bases de données relationnelles. La clé étrangère est une contrainte utilisée pour décrire la relation entre les tables, ce qui peut garantir l'intégrité et la cohérence des données. Interroger des clés étrangères dans MySQL est également une opération très importante. Cet article explique comment utiliser MySQL pour interroger des clés étrangères.

1. Qu'est-ce qu'une clé étrangère ? Une clé étrangère est une ou plusieurs colonnes dans une table. Elle est utilisée pour spécifier que la valeur de cette colonne ou de plusieurs colonnes doit être liée aux données d'une autre table ou à la clé primaire de celle-ci. un autre match de table. Cette table correspondante est appelée table référencée. Dans une base de données relationnelle, nous pouvons utiliser des clés étrangères lorsque nous souhaitons lier deux ou plusieurs tables.

Le but des clés étrangères est d'assurer l'intégrité et la cohérence des données. Lorsque nous ajoutons une ligne de données à une table, si les données doivent correspondre à certaines données d'une autre table et si la relation de correspondance est établie via une clé étrangère, MySQL vérifiera la clé étrangère dans les données nouvellement ajoutées. voir si les données existent dans la table référencée. Si elles n'existent pas, il refusera d'insérer les données dans la table.

2. Comment créer des clés étrangères

Il existe de nombreuses façons de créer des clés étrangères dans MySQL. Voici deux méthodes courantes.

1. Utilisez l'instruction ALTER TABLE

Le format de syntaxe pour ajouter des clés étrangères via l'instruction ALTER TABLE est le suivant :

Nom de la table ALTER TABLE ADD CONSTRAINT nom de la clé étrangère FOREIGN KEY (nom de la colonne) REFERENCES nom de la table (nom de la colonne ) d'une autre table ;

Parmi eux, le nom de la clé étrangère est un nom donné à la clé étrangère. Ce nom doit être unique. Le nom de la colonne fait référence au nom de la colonne de la table actuelle. table sont respectivement le nom et le nom de la colonne de la table référencée.

Par exemple, nous avons une table d'employés (employés) et une table de département (départements). Elles sont liées via une clé étrangère. Nous pouvons utiliser l'instruction SQL suivante pour créer cette clé étrangère.

ALTER TABLE employees ADD CONSTRAINT dept_fk FOREIGN KEY (dept_id) REFERENCES departments (dept_id);

Cette instruction signifie ajouter une clé étrangère nommée dept_fk à la table des employés (dept_fk pointe vers la colonne dept_id de la table des employés, qui fait référence à la colonne dept_id de la table des services).

2. Définir des clés étrangères lors de la création d'une table

Définir des clés étrangères lors de la création d'une table est également une méthode courante. Le format de syntaxe est le suivant :

CREATE TABLE 表名 (
列名 数据类型,
外键名称 FOREIGN KEY (列名) REFERENCES 另一个表格的表名 (列名)
);

Par exemple, pour créer une table employe (employés) et une table département (départements), et utiliser la colonne dept_id comme clé étrangère de la table employés pour lier la colonne dept_id des départements table, vous pouvez utiliser l'instruction SQL suivante.

CREATE TABLE employees (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
dept_id INT,
PRIMARY KEY (id),
FOREIGN KEY (dept_id) REFERENCES departments (dept_id)
)

3. Comment interroger la clé étrangère

Une fois la clé étrangère établie dans MySQL, nous pouvons utiliser l'instruction de requête MySQL pour interroger la clé étrangère. Le format syntaxique de l'interrogation des clés étrangères est le suivant :

SELECT * FROM 表名 WHERE 列名 IS NULL;

Cette instruction renvoie des données avec des noms de colonnes vides dans la table. Si cette colonne est définie comme une clé étrangère, alors le résultat de la requête est qu'il n'y a aucune ligne dans la table. correspondre aux données de la clé étrangère. Ce résultat de requête est très utile, il peut nous aider à trouver les enregistrements qui doivent être résolus manuellement et qui ne correspondent pas correctement.

Par exemple, nous avons une table départements, et sa colonne dept_id est définie comme une clé étrangère. Si nous voulons interroger des enregistrements qui ne correspondent pas à la table départements, nous pouvons utiliser l'instruction SQL suivante :

SELECT * FROM departments WHERE dept_id NOT IN (SELECT dept_id FROM employees);

La signification. de cette instruction Oui, interrogez les données dept_id dans la table départements qui ne sont pas incluses dans la table employés.

4. Résumé

L'interrogation de clés étrangères par MySQL est une opération très importante. Grâce à la définition et à l'interrogation de clés étrangères, nous pouvons garantir l'intégrité et la cohérence des données dans la base de données, éviter les erreurs inutiles et rendre les données plus précises et plus fiables. Lorsque vous utilisez MySQL, faites attention à la définition et à l'interrogation des clés étrangères pour éviter les erreurs inutiles dues aux contraintes de clé étrangère.

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!

Déclaration:
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