Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyoal Data JSON yang Disimpan dalam Lajur MySQL?

Bagaimana untuk Menyoal Data JSON yang Disimpan dalam Lajur MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-27 16:00:03163semak imbas

 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>

Pertanyaan ini akan kembali:

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

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!

Kenyataan:
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