Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyimpan dan Mengambil Data JSON dengan Cekap dalam Jadual MySQL?

Bagaimana untuk Menyimpan dan Mengambil Data JSON dengan Cekap dalam Jadual MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 05:32:02383semak imbas

How to Efficiently Store and Retrieve JSON Data in MySQL Tables?

Mencipta dan Memasukkan Objek JSON dalam Jadual MySQL

Apabila bekerja dengan data JSON dalam MySQL, anda mungkin menghadapi cabaran jika anda tidak biasa dengan proses tersebut. Berikut ialah panduan langkah demi langkah untuk membantu anda.

Membuat Jadual dengan Jenis Data JSON

Untuk menyimpan data JSON dengan berkesan, anda perlu menentukan lajur jadual dengan jenis data JSON. Contohnya:

<code class="sql">CREATE TABLE `person` (
  `name` JSON DEFAULT NULL
);</code>

Memasukkan Data JSON

Terdapat pelbagai cara untuk memasukkan data JSON ke dalam jadual MySQL anda:

1 . Memasukkan Tatasusunan JSON

Untuk memasukkan tatasusunan nilai, masukkannya dalam kurungan petak dan gunakan fungsi JSON_CONTAINS dalam pertanyaan anda:

<code class="sql">INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');</code>

2. Memasukkan Objek JSON (Kunci: Pasangan Nilai)

Untuk memasukkan objek JSON individu, gunakan pendakap kerinting untuk melampirkan pasangan nilai kunci anda:

<code class="sql">INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');</code>

Memilih Data JSON

Setelah anda memasukkan data JSON anda, anda boleh mendapatkan semula rekod tertentu menggunakan fungsi JSON_CONTAINS:

<code class="sql">SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');</code>

Nota: Ciri ini memerlukan versi MySQL 5.7 atau lebih tinggi dan enjin storan InnoDB.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan dan Mengambil Data JSON dengan Cekap dalam Jadual 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