Bagaimana untuk Menyoal Data JSON yang Disimpan dalam Lajur MySQL?

Patricia Arquette
Lepaskan: 2024-10-27 16:00:03
asal
253 orang telah melayarinya

 How to Query JSON Data Stored in MySQL Columns?

Menyoal Data JSON dalam Lajur MySQL

Dalam MySQL, anda boleh menyimpan objek JSON dalam lajur untuk menyimpan struktur data yang kompleks. Untuk mempersoalkan medan JSON ini dengan cekap, anda mungkin menghadapi cabaran untuk menggabungkannya ke dalam klausa WHERE. Berikut ialah penyelesaian:

Penyelesaian menggunakan json_extract

MySQL 5.7 dan kemudiannya menyokong fungsi json_extract, yang membolehkan anda mengekstrak nilai tertentu daripada data JSON. Fungsi ini menerima dua argumen: data JSON dan ungkapan laluan JSON.

Contoh:

Katakan anda mempunyai jadual "artikel" dengan lajur "json_data" yang menyimpan objek JSON. Untuk mencari artikel dengan tajuk yang mengandungi "CPU":

<code class="sql">SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>
Salin selepas log masuk

Pertanyaan ini akan kembali:

+---------+--------------------------------------------------------------------------------------------------+
| user_id | json_data                                                                                        |
+---------+--------------------------------------------------------------------------------------------------+
|       1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}                                |
+---------+--------------------------------------------------------------------------------------------------+
Salin selepas log masuk

Penjelasan:

  • Fungsi json_extract mengekstrak medan "tajuk" daripada data JSON dalam lajur "json_data".
  • Pengendali LIKE digunakan untuk membandingkan nilai yang diekstrak dengan "%CPU%".

Dengan memasukkan json_extract ke dalam pertanyaan anda, anda boleh mencari dan menapis data JSON dalam MySQL dengan mudah, menjadikannya alat yang berkuasa untuk bekerja dengan data yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Data JSON yang Disimpan dalam Lajur 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