Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyimpan Tatasusunan secara Berkesan dalam Pangkalan Data MySQL?

Bagaimana untuk Menyimpan Tatasusunan secara Berkesan dalam Pangkalan Data MySQL?

Patricia Arquette
Lepaskan: 2024-11-30 10:05:14
asal
594 orang telah melayarinya

How to Effectively Store Arrays in MySQL Databases?

Cara Menyimpan Tatasusunan dengan Berkesan dalam MySQL

Ia selalunya perlu untuk menyimpan tatasusunan dalam pangkalan data atas pelbagai sebab. Walau bagaimanapun, tidak seperti bahasa pengaturcaraan lain yang mungkin mempunyai jenis data terbina dalam untuk tatasusunan, MySQL tidak mempunyai jenis data khusus untuk menyimpan tatasusunan. Ini menimbulkan persoalan tentang cara terbaik pendekatan menyimpan tatasusunan dalam MySQL.

Bolehkah Tatasusunan Disimpan dalam Medan Tunggal?

Jawapan mudahnya ialah tidak, tidak ada cara yang disyorkan untuk menyimpan tatasusunan dalam satu medan MySQL. Menyimpan tatasusunan dalam satu medan membawa kepada isu integriti data dan menjadikannya mencabar untuk membuat pertanyaan dan mendapatkan semula data dengan cekap.

Pendekatan Alternatif: Pemodelan Data Perhubungan

Pendekatan yang disyorkan adalah untuk memeriksa data hubungan anda dan membuat perubahan yang sesuai pada skema anda. Ini melibatkan penciptaan jadual dan lajur yang berasingan untuk mewakili aspek berbeza data dalam tatasusunan. Dengan menormalkan data, anda mengekalkan integriti data dan memudahkan pertanyaan dan mendapatkan semula yang cekap.

Menggunakan Fungsi Serialisasi

Jika anda benar-benar mesti menyimpan tatasusunan dalam satu medan, anda boleh menggunakan fungsi bersiri seperti serialize() dan unserialize() atau json_encode() dan json_decode(). Fungsi ini menukar tatasusunan kepada rentetan yang boleh disimpan dalam satu medan. Walau bagaimanapun, pendekatan ini mempunyai hadnya.

Anda tidak boleh melakukan pertanyaan tentang kandungan sebenar data bersiri. Ia juga meningkatkan saiz data yang disimpan, bergantung pada kerumitan tatasusunan.

Contoh: Pemodelan Data Hubungan

Pertimbangkan tatasusunan PHP berikut:

$a = array(
    1 => array(
        'a' => 1,
        'b' => 2,
        'c' => 3
    ),
    2 => array(
        'a' => 1,
        'b' => 2,
        'c' => 3
    ),
);
Salin selepas log masuk

Untuk menyimpan tatasusunan ini dalam MySQL menggunakan pemodelan data hubungan, buat jadual bernama 'ujian' dengan yang berikut struktur:

CREATE TABLE test (
  id INTEGER UNSIGNED NOT NULL,
  a INTEGER UNSIGNED NOT NULL,
  b INTEGER UNSIGNED NOT NULL,
  c INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY (id)
);
Salin selepas log masuk

Masukkan data daripada tatasusunan ke dalam jadual menggunakan pertanyaan seperti:

$query = "INSERT INTO test (id, a, b, c) VALUES ($k, $v['a'], $v['b'], $v['c'])";
Salin selepas log masuk

Untuk mendapatkan semula data daripada jadual, lakukan pertanyaan seperti:

$query = 'SELECT * FROM test';
$ret[array_shift($o)] = $o;
Salin selepas log masuk

Pendekatan ini membolehkan anda membuat pertanyaan dan mendapatkan maklumat khusus daripada tatasusunan dengan cekap sambil mengekalkan integriti data.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Tatasusunan secara Berkesan dalam Pangkalan Data MySQL?. 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