Metodologi untuk Menyoal Tatasusunan JSON dalam MySQL
Dalam bidang MySQL, menyimpan tatasusunan sebagai rentetan JSON dalam lajur memberikan fleksibiliti dalam pengurusan data. Walau bagaimanapun, mengekstrak cerapan bermakna daripada tatasusunan ini memerlukan teknik khusus. Artikel ini menyelidiki mekanik mencari elemen dalam tatasusunan JSON dan menawarkan penyelesaian praktikal.
Menyiasat Tatasusunan Integer
Andaikan anda mempunyai lajur JSON bernama "data" dalam jadual MySQL, yang mengandungi tatasusunan integer. Untuk mencari baris yang sekurang-kurangnya satu elemen tatasusunan melebihi nilai yang ditentukan (cth., 2), coretan pertanyaan berikut boleh digunakan:
SELECT * FROM my_table WHERE JSON_CONTAINS(data, '2', '$');
Dalam pertanyaan ini, fungsi JSON_CONTAINS menilai sama ada data "tatasusunan JSON" " mengandungi nilai "2" pada mana-mana indeks ("$"). Hasil bukan sifar (1) menunjukkan kehadiran "2" dalam tatasusunan, mencetuskan pemilihan baris.
Menyoal Tatasusunan Rentetan
Untuk tatasusunan rentetan JSON , teknik yang sama digunakan:
SELECT * FROM my_table WHERE JSON_CONTAINS(data, '"x"', '$');
Pertanyaan ini menyemak sama ada tatasusunan "data" mengandungi rentetan "x" dan mengembalikan baris di mana ia ditemui. Ambil perhatian bahawa nilai rentetan dalam tatasusunan mesti disertakan dalam petikan.
Batasan dan Pertimbangan
Walaupun JSON_CONTAINS mengesan elemen dalam tatasusunan JSON dengan berkesan, ia mempunyai had tertentu. Sebagai contoh, ia mengembalikan 1 atau 0, menunjukkan kehadiran atau ketiadaan sahaja. Jika anda perlu melakukan operasi yang lebih kompleks, seperti mendapatkan semula elemen padanan, pendekatan alternatif mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menanyakan Tatasusunan JSON dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!