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