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:
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!