Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Susunan Data dengan Cekap dalam MySQL Menggunakan Berbilang Jadual?

Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Susunan Data dengan Cekap dalam MySQL Menggunakan Berbilang Jadual?

Susan Sarandon
Lepaskan: 2024-12-05 19:54:11
asal
463 orang telah melayarinya

How Can I Efficiently Store and Retrieve Arrays of Data in MySQL Using Multiple Tables?

Menyimpan Tatasusunan dalam MySQL: Penyelesaian Pelbagai Jadual

Dalam MySQL, menyimpan tatasusunan secara langsung tidak mudah kerana ketiadaan tatasusunan jenis data. Untuk menyimpan tatasusunan rentetan yang merujuk nilai daripada jadual lain, pendekatan reka bentuk berbilang jadual biasanya digunakan.

Reka Bentuk Jadual

Buat dua jadual: Orang dan Buah. Orang mengandungi nama dan lajur buah-buahan yang akan menyimpan data tatasusunan. Buah mengandungi nama_buah, warna dan harga.

CREATE TABLE Person (
    `id` INT NOT NULL PRIMARY KEY,
    `name` VARCHAR(50),
    `fruits` VARCHAR(255)
);

CREATE TABLE Fruit (
    `fruit_name` VARCHAR(20) NOT NULL PRIMARY KEY,
    `color` VARCHAR(20),
    `price` INT
);
Salin selepas log masuk

Menyimpan Data Tatasusunan

Untuk menyimpan tatasusunan nama buah-buahan dalam lajur buah-buahan, anda boleh menggunakan senarai dipisahkan koma. Contohnya:

INSERT INTO Person (`name`, `fruits`) VALUES ('John Doe', 'apple,banana,orange');
Salin selepas log masuk

Mendapatkan Data Tatasusunan

Untuk mendapatkan tatasusunan nama buah bagi seseorang, gunakan pertanyaan JOIN untuk memautkan jadual Orang dan Buah berdasarkan pada nilai fruit_name.

SELECT p.name, f.fruit_name
FROM Person p
INNER JOIN Person_Fruit pf
ON pf.person_id = p.id
INNER JOIN Fruit f
ON f.fruit_name = pf.fruit_name;
Salin selepas log masuk

Pertanyaan ini akan mengembalikan nama orang dan nama buah yang dikaitkan dengan mereka.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mendapatkan Susunan Data dengan Cekap dalam MySQL Menggunakan Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan