Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Data JSON Tertentu dengan Cekap dari MySQL?

Bagaimana untuk Mendapatkan Data JSON Tertentu dengan Cekap dari MySQL?

Linda Hamilton
Lepaskan: 2024-12-24 00:52:15
asal
594 orang telah melayarinya

How to Efficiently Retrieve Specific JSON Data from MySQL?

Mengambil semula Data JSON daripada MySQL

MySQL menyediakan cara yang mudah untuk mencari dan mengekstrak maklumat khusus daripada data JSON yang disimpan dalam pangkalan datanya. Begini cara anda boleh melakukan carian sedemikian:

MySQL Versi 5.7 dan Ke Atas

Jika anda menggunakan MySQL versi 5.7 atau lebih baru, anda boleh menggunakan fungsi JSON_EXTRACT. Fungsi ini membolehkan anda mengekstrak nilai tertentu daripada rentetan JSON. Untuk mencari nilai tertentu dalam medan attribs_json, anda boleh menggunakan pertanyaan seperti ini:

SELECT JSON_EXTRACT(attribs_json, '$.feature."1".value') AS feature_value
FROM products
WHERE JSON_EXTRACT(attribs_json, '$.feature."1".value') REGEXP '^[^""3"$]'
Salin selepas log masuk

Pertanyaan ini akan memilih nilai kekunci "nilai" dalam kekunci "1" bagi "ciri " objek dalam medan attribs_json untuk semua produk yang tidak mempunyai "3" sebagai nilai.

MySQL yang terdahulu Versi

Untuk versi MySQL yang lebih awal, anda boleh menggunakan ungkapan biasa dengan operator REGEXP untuk mencari corak dalam rentetan JSON. Walau bagaimanapun, pendekatan ini lebih kompleks dan memerlukan penghuraian rentetan yang lebih intensif.

Contoh Pertanyaan

Pertimbangkan struktur JSON berikut:

{
  "feature": {
    "1": { "value": "[\"2\",\"3\"]" },
    "2": { "value": "[\"1\"]" },
    "3": { "value": "[\"1\"]" }
  }
}
Salin selepas log masuk

Untuk cari kunci "1" dengan nilai yang bukan "3", anda boleh menggunakan yang berikut pertanyaan:

SELECT id, attribs_json
FROM products
WHERE attribs_json REGEXP '"1":{.*"value":"[^"3"$]$'
Salin selepas log masuk

Nota Penting

Apabila menggunakan ungkapan biasa, ingat untuk melarikan diri daripada aksara khas dalam corak carian anda untuk mengelakkan padanan yang tidak diingini. Selain itu, sintaks untuk JSON_EXTRACT dan REGEXP mungkin berbeza sedikit bergantung pada versi MySQL tertentu yang anda gunakan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Data JSON Tertentu dengan Cekap dari 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