Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencari Data JSON yang Disimpan dalam MySQL Dengan Berkesan Menggunakan JSON_EXTRACT?

Bagaimanakah Saya Boleh Mencari Data JSON yang Disimpan dalam MySQL Dengan Berkesan Menggunakan JSON_EXTRACT?

DDD
DDDasal
2024-12-23 16:24:20417semak imbas

How Can I Effectively Search JSON Data Stored in MySQL Using JSON_EXTRACT?

Mencari Data JSON dalam MySQL

Anda telah memasukkan rekod dengan data berkod JSON ke dalam pangkalan data MySQL dan perlu mencari dalam data tersebut. Walau bagaimanapun, pertanyaan SQL yang disediakan tidak mengembalikan hasil yang diingini. Mari kita terokai penyelesaian yang menggunakan fungsi pengekstrakan JSON yang diperkenalkan dalam MySQL versi 5.7.

Ekstrak JSON dalam MySQL 5.7

Dalam MySQL versi 5.7 dan ke atas, fungsi pengekstrakan JSON menyediakan cara yang berkuasa untuk menavigasi dan mendapatkan data daripada nilai JSON. Satu fungsi sedemikian, JSON_EXTRACT, membolehkan anda menyasarkan kunci tertentu dan mengekstrak nilai sepadannya.

Memohon JSON_EXTRACT pada Pertanyaan Anda

Untuk mencari dalam medan attribs_json untuk kunci tertentu -pasangan nilai, anda boleh menggunakan JSON_EXTRACT sebagai berikut:

SELECT id, JSON_EXTRACT(attribs_json, "$.feature.1.value") AS matching_value
FROM products
WHERE JSON_EXTRACT(attribs_json, "$.feature.1.value") REGEXP '\[[^"]*3[^"]*\]'

Penjelasan:

  • Ungkapan $.feature.1.value menyasarkan nilai kunci "1" dalam "ciri " objek.
  • Predikat REGEXP mengehadkan keputusan kepada keputusan yang nilai yang diekstrak tidak mengandungi rentetan "3".

Pertanyaan ini akan mengembalikan semua baris di mana kunci "1" dalam objek "ciri" mempunyai nilai yang tidak termasuk "3". Untuk data yang disediakan, ia akan memadankan baris dengan nilai "1" bagi ["2"] dan ["2", "1"].

Kesimpulan

Dengan memanfaatkan fungsi pengekstrakan JSON MySQL, anda boleh mencari dan mengakses data yang disimpan dalam medan berkod JSON dengan berkesan. Fungsi JSON_EXTRACT menyediakan cara yang fleksibel dan cekap untuk mengekstrak nilai tertentu dan melaksanakan operasi penapisan kompleks pada data JSON.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Data JSON yang Disimpan dalam MySQL Dengan Berkesan Menggunakan JSON_EXTRACT?. 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