Bagaimana untuk Menyoal Lajur MySQL dengan Data JSON Menggunakan Fungsi JSON?

Linda Hamilton
Lepaskan: 2024-10-28 22:08:31
asal
921 orang telah melayarinya

How to Query MySQL Columns with JSON Data Using JSON Functions?

Menyoal Lajur MySQL dengan Data JSON Menggunakan Fungsi JSON

Dalam MySQL, anda boleh menyimpan objek JSON sebagai nilai dalam lajur pangkalan data. Untuk mendapatkan semula data daripada lajur ini dengan cekap menggunakan medan JSON tertentu dalam pertanyaan anda, pertimbangkan untuk menggunakan fungsi JSON seperti json_extract().

Menggunakan json_extract() untuk Penapisan Pertanyaan

Sebagai contoh, mari kita pertimbangkan jadual berikut bernama artikel yang mengandungi lajur bernama json_data dengan objek JSON:

Column Data
id 1, 2, 3
user_id 1, 1, 2
json_data '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}', '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}', '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}'

Untuk menapis rekod berdasarkan medan JSON tertentu, anda boleh menggunakan fungsi json_extract(). Contohnya, untuk mendapatkan semula artikel yang mengandungi istilah "CPU" dalam medan tajuk objek JSON:

SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
Salin selepas log masuk

Pertanyaan ini akan mengembalikan baris pertama, kerana ia sepadan dengan kriteria.

Nota Tambahan

  • json_extract() membenarkan anda mengekstrak nilai tertentu daripada objek JSON.
  • Untuk versi MySQL yang lebih lama (sebelum 5.7), anda boleh menggunakan kaedah alternatif seperti rutin yang disimpan atau sambungan pihak ketiga.
  • Pertimbangkan untuk menggunakan indeks pada lajur JSON untuk prestasi pertanyaan yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Lajur MySQL dengan Data JSON Menggunakan Fungsi JSON?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!