Menyoal Tatasusunan JSON dalam MySQL: Penyelesaian dengan JSON_TABLE()
Anda boleh mendapatkan semula nilai tertentu daripada tatasusunan JSON menggunakan fungsi SQL seperti JSON_SEARCH, tetapi ini hanya menyediakan laluan ke nod yang dikehendaki. Untuk menggabungkan carian laluan dengan perolehan nilai sebenar, anda boleh menggunakan fungsi JSON_TABLE().
JSON_TABLE() menukar dokumen JSON kepada jadual maya, membolehkan anda menggunakan operasi SQL seperti WHERE dan SELECT pada elemennya . Dengan menentukan lajur dan laluannya dalam tatasusunan, anda boleh menapis dan menayangkan atribut yang dikehendaki dengan mudah. Pertimbangkan contoh berikut:
SELECT j.strength FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' ) ) AS j WHERE j.race = 'Knight'
Pertanyaan ini akan mengembalikan nilai kekuatan perlumbaan kesatria. Walau bagaimanapun, ia memerlukan anda untuk mentakrifkan nama atribut dan laluannya secara eksplisit, yang mungkin tidak boleh dilaksanakan apabila struktur data dinamik atau tidak ditentukan.
Perlu diambil perhatian bahawa menggunakan JSON_TABLE() melibatkan penukaran dokumen JSON kepada jadual maya untuk setiap pertanyaan, yang boleh memberi kesan kepada prestasi jika datanya besar. Selain itu, pendekatan ini memerlukan anda untuk menentukan medan atribut yang anda ingin cari, yang mengehadkan penggunaannya untuk struktur data yang tidak ditentukan sepenuhnya.
Atas ialah kandungan terperinci Bagaimana untuk Menyoal Tatasusunan JSON dalam MySQL: Bolehkah JSON_TABLE() digunakan untuk mendapatkan nilai tertentu daripada tatasusunan JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!