Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyoal Data JSON dalam MySQL menggunakan Klausa WHERE?

Bagaimana untuk Menyoal Data JSON dalam MySQL menggunakan Klausa WHERE?

Susan Sarandon
Susan Sarandonasal
2024-10-28 09:20:29573semak imbas

How to Query JSON Data in MySQL using the WHERE Clause?

Cara Menyoal Data JSON dalam MySQL

Dalam pangkalan data MySQL, objek JSON boleh disimpan dalam lajur jadual. Walau bagaimanapun, menjalankan pertanyaan yang menggunakan medan JSON ini boleh mencabar tanpa teknik yang betul. Panduan ini menyediakan kaedah untuk menanyakan data JSON dengan mudah menggunakan klausa WHERE, membolehkan pembangun menapis dan mendapatkan semula rekod tertentu berdasarkan sifat objek JSON.

Menggunakan Fungsi JSON_EXTRACT

Untuk MySQL versi 5.7 dan ke atas, fungsi JSON_EXTRACT ialah alat yang berkesan untuk mengekstrak nilai tertentu daripada objek JSON dalam klausa WHERE. Fungsi ini mengambil dua parameter:

  • json_document: Objek JSON dari mana nilai sedang diekstrak.
  • laluan: A JSON ungkapan laluan yang menentukan lokasi nilai sasaran dalam objek.

Pertimbangkan jadual contoh yang disediakan dalam pertanyaan asal dengan lajur "json_data" yang mengandungi objek JSON. Untuk menanyakan jadual bagi baris yang sifat "tajuk" mengandungi rentetan "CPU", pertanyaan berikut boleh digunakan:

SELECT user_id, json_data
FROM articles
WHERE JSON_EXTRACT(json_data, '$.title') LIKE '%CPU%';

Pertanyaan ini memanfaatkan fungsi JSON_EXTRACT untuk mendapatkan semula nilai "tajuk" harta daripada setiap objek JSON dalam lajur "json_data". Ia kemudian menapis hasil untuk memasukkan hanya baris yang nilai tajuk yang diekstrak mengandungi subrentetan yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Data JSON dalam MySQL menggunakan Klausa WHERE?. 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