Bagaimana untuk Menyoal Tatasusunan JSON dalam MySQL: Bolehkah JSON_TABLE() digunakan untuk mendapatkan nilai tertentu daripada tatasusunan JSON?

Susan Sarandon
Lepaskan: 2024-10-30 00:16:03
asal
180 orang telah melayarinya

How to Query JSON Arrays in MySQL: Can JSON_TABLE() be used to retrieve specific values from a JSON array?

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'
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!