Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya mengekstrak Data JSON daripada Lajur MySQL Menggunakan Pertanyaan?

Bagaimanakah saya mengekstrak Data JSON daripada Lajur MySQL Menggunakan Pertanyaan?

Barbara Streisand
Barbara Streisandasal
2024-10-27 13:09:01615semak imbas

How do I Extract JSON Data from MySQL Columns Using Queries?

Mengekstrak Data JSON dalam MySQL dengan Pertanyaan

JSON ialah format data popular yang digunakan untuk menyimpan data berstruktur dan semakin menjadi kebiasaan untuk menyimpan objek JSON dalam lajur pangkalan data. MySQL menyediakan beberapa kaedah untuk mengekstrak data daripada lajur JSON, menjadikannya lebih mudah untuk membuat pertanyaan dan menapis data berdasarkan medan tertentu.

Menggunakan json_extract() (MySQL 5.7 dan ke atas)

Untuk MySQL versi 5.7 dan ke atas, fungsi json_extract() menawarkan cara yang mudah untuk mengekstrak nilai tertentu daripada objek JSON. Berikut ialah contoh:

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

Pertanyaan ini mendapatkan semula baris yang medan "title" dalam lajur JSON sepadan dengan corak "%CPU%". Ia hanya akan mengembalikan baris pertama daripada jadual sampel yang disediakan.

Menggunakan json_unquote() dan json_contains() (MySQL 8.0 dan ke atas)

Dalam MySQL 8.0 dan lebih baharu , fungsi json_unquote() boleh digunakan untuk mengalih keluar petikan berganda daripada nilai JSON dan fungsi json_contains() boleh digunakan untuk menyemak sama ada nilai tertentu wujud dalam objek JSON. Berikut ialah pertanyaan alternatif:

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

Atas ialah kandungan terperinci Bagaimanakah saya mengekstrak Data JSON daripada Lajur MySQL Menggunakan Pertanyaan?. 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