Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?

Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?

Barbara Streisand
Lepaskan: 2024-10-29 00:46:30
asal
301 orang telah melayarinya

How to Efficiently Search for a Specific Value within a JSON Array in MySQL 8.0.15?

Nilai JSON Carian MySQL mengikut Tatasusunan Kunci

Dalam MySQL 8.0.15, mencari nilai khusus dalam tatasusunan objek JSON boleh mencabar. Walau bagaimanapun, fungsi JSON_TABLE() menyediakan penyelesaian dengan menukar dokumen JSON kepada jadual terbitan maya.

Pertimbangkan tatasusunan berikut:

<code class="json">[
    {"Race": "Orc", "strength": 14},
    {"Race": "Knight", "strength": 7},
]</code>
Salin selepas log masuk

Untuk mendapatkan semula kekuatan Knight, kami boleh menggunakan:

<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 = 'Knight'</code>
Salin selepas log masuk

Ini menukar tatasusunan JSON kepada jadual dengan lajur "perlumbaan" dan "kekuatan", membolehkan kami menggunakan klausa WHERE untuk mencari nilai yang diingini.

Walau bagaimanapun , kelemahan menggunakan JSON_TABLE() ialah keperluan untuk menentukan atribut yang diingini dalam pertanyaan, yang mungkin tidak dapat dilakukan jika atribut tidak diketahui. Ini menyerlahkan kepentingan mentakrifkan atribut apabila bekerja dengan data JSON untuk memudahkan pertanyaan dan mengelakkan gabungan yang rumit.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?. 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