Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Mencipta dan Menguruskan Hubungan Antara Jadual dalam MySQL?

Bagaimanakah Saya Mencipta dan Menguruskan Hubungan Antara Jadual dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-24 14:21:09386semak imbas

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

Pembinaan perhubungan jadual pangkalan data MySQL

Reka bentuk pangkalan data MySQL yang cekap bergantung pada pembinaan perhubungan yang munasabah antara jadual. Kekangan kunci asing ialah salah satu jenis perhubungan biasa yang membolehkan anda menyertai data daripada jadual yang berbeza.

Contoh berikut menunjukkan cara mewujudkan hubungan utama asing:

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

Gunakan klausa accounts dalam jadual FOREIGN KEY untuk menyertai dua jadual:

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

Kekangan ini memastikan setiap accounts dalam jadual customer_id sepadan dengan customers sedia ada dalam jadual customer_id. Dengan merujuk lajur customer_id, hubungan satu-ke-banyak diwujudkan: setiap pelanggan boleh mempunyai berbilang akaun, manakala setiap akaun milik seorang pelanggan sahaja.

MySQL juga menyokong jenis perhubungan jadual yang lain. Sebagai contoh, anda boleh menggunakan kunci primer dan kekangan kunci asing untuk mewujudkan perhubungan banyak-ke-banyak. Untuk mendapatkan maklumat lanjut tentang jenis perhubungan dan kekangan, sila rujuk kepada dokumentasi MySQL rasmi.

Atas ialah kandungan terperinci Bagaimanakah Saya Mencipta dan Menguruskan Hubungan Antara Jadual dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn