Rumah > pangkalan data > tutorial mysql > Bagaimana Mengekstraksi Nilai Utama Tertentu dengan Cekap daripada JSON Arrays dalam MySQL?

Bagaimana Mengekstraksi Nilai Utama Tertentu dengan Cekap daripada JSON Arrays dalam MySQL?

Susan Sarandon
Lepaskan: 2024-10-29 13:43:02
asal
540 orang telah melayarinya

How to Efficiently Extract Specific Key Values from JSON Arrays in MySQL?

Mencari Nilai Utama Tertentu dalam Tatasusunan JSON MySQL

Dalam MySQL, mencari nod khusus dalam tatasusunan objek JSON boleh menjadi mencabar. Untuk menangani perkara ini, anda boleh mempertimbangkan untuk menggunakan fungsi JSON_SEARCH dan JSON_CONTAINS. Walau bagaimanapun, menggabungkan fungsi ini untuk memudahkan pertanyaan tidak selalu boleh dilaksanakan.

MySQL 8.0 menawarkan penyelesaian dengan fungsi JSON_TABLE(), yang mencipta jadual terbitan maya daripada dokumen JSON, dengan berkesan menganggapnya sebagai baris dan lajur . Ini membolehkan anda melakukan operasi seperti pemilihan dan unjuran pada data JSON.

Untuk menunjukkan, mari masukkan data contoh anda ke dalam jadual:

<code class="sql">create table mytable ( mycol json );

insert into mytable set mycol = '[{"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7}]';</code>
Salin selepas log masuk

Anda kini boleh menggunakan JSON_TABLE() untuk cipta jadual maya:

<code class="sql">SELECT j.*
FROM mytable,
JSON_TABLE(mycol, '$[*]' COLUMNS (
    race VARCHAR(10) PATH '$.Race',
    strength INT PATH '$.strength'
)) AS j;</code>
Salin selepas log masuk

Ini akan menghasilkan keputusan berikut:

race strength
Orc 14
Knight 7

Untuk mendapatkan semula kekuatan perlumbaan tertentu, anda boleh menggunakan klausa WHERE:

<code class="sql">SELECT j.strength
FROM mytable,
JSON_TABLE(mycol, '$[*]' COLUMNS (
    race VARCHAR(10) PATH '$.Race',
    strength INT PATH '$.strength'
)) AS j
WHERE j.race = 'Orc';</code>
Salin selepas log masuk

Ini akan mengembalikan hasil berikut:

strength
14

Walau bagaimanapun, pendekatan ini memerlukan anda untuk menentukan medan atribut dalam pertanyaan anda, yang mungkin tidak sesuai untuk set data dengan definisi atribut yang tidak diketahui.

Atas ialah kandungan terperinci Bagaimana Mengekstraksi Nilai Utama Tertentu dengan Cekap daripada JSON Arrays dalam MySQL?. 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