Maison >base de données >tutoriel mysql >Comment créer et gérer des relations entre les tables dans MySQL?

Comment créer et gérer des relations entre les tables dans MySQL?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-24 14:21:09354parcourir

How Do I Create and Manage Relationships Between Tables in MySQL?

Construction des relations entre les tables de base de données MySQL

La conception efficace d'une base de données MySQL repose sur la construction raisonnable de relations entre les tables. Les contraintes de clé étrangère sont l'un des types courants de relations qui vous permettent de joindre des données provenant de différentes tables.

L'exemple suivant montre comment établir une relation de clé étrangère :

<code class="language-sql">CREATE TABLE accounts(
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT(4) NOT NULL,
    account_type ENUM('savings', 'credit') NOT NULL,
    balance FLOAT(9) NOT NULL,
    PRIMARY KEY (account_id)
);</code>
<code class="language-sql">CREATE TABLE customers(
    customer_id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    address VARCHAR(20) NOT NULL,
    city VARCHAR(20) NOT NULL,
    state VARCHAR(20) NOT NULL,
    PRIMARY KEY (customer_id)
);</code>

Utilisez la clause accounts dans la table FOREIGN KEY pour joindre les deux tables :

<code class="language-sql">CREATE TABLE accounts(
    ...
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;</code>

Cette contrainte garantit que chaque accounts de la table customer_id correspond à un customers existant dans la table customer_id. En référençant la colonne customer_id, une relation un-à-plusieurs s'établit : chaque client peut avoir plusieurs comptes, alors que chaque compte n'appartient qu'à un seul client.

MySQL prend également en charge d'autres types de relations entre tables. Par exemple, vous pouvez utiliser des contraintes de clé primaire et de clé étrangère pour établir une relation plusieurs-à-plusieurs. Pour plus d'informations sur les types de relations et les contraintes, veuillez vous référer à la documentation officielle de MySQL.

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