Rumah > pangkalan data > tutorial mysql > mysql bagaimana untuk menanyakan lajur json

mysql bagaimana untuk menanyakan lajur json

Christopher Nolan
Lepaskan: 2024-12-25 11:35:16
asal
433 orang telah melayarinya

Bagaimana untuk mengakses nilai tertentu dalam lajur JSON?

Untuk mengakses nilai tertentu dalam lajur JSON, anda boleh menggunakan fungsi JSON_EXTRACT(). Fungsi ini mengambil dua argumen: nama lajur JSON dan ungkapan laluan JSON. Ungkapan laluan JSON menentukan lokasi nilai yang anda mahu ekstrak.

Sebagai contoh, pertanyaan berikut mengekstrak nilai sifat "nama" daripada objek "pengguna" dalam lajur "json_data":

<code>SELECT JSON_EXTRACT(json_data, '$.user.name') FROM table_name;</code>
Salin selepas log masuk

Bolehkah saya menapis baris berdasarkan nilai yang disimpan dalam JSON lajur?

Ya, anda boleh menapis baris berdasarkan nilai yang disimpan dalam lajur JSON. Untuk melakukan ini, anda boleh menggunakan fungsi JSON_CONTAINS(). Fungsi ini mengambil dua argumen: nama lajur JSON dan ungkapan laluan JSON. Ungkapan laluan JSON menentukan lokasi nilai yang anda ingin tapis.

Contohnya, pertanyaan berikut menapis baris di mana nilai sifat "nama" dalam objek "pengguna" dalam "json_data" lajur adalah sama dengan "John":

<code>SELECT * FROM table_name WHERE JSON_CONTAINS(json_data, '$.user.name', 'John');</code>
Salin selepas log masuk

Cara melaksanakan pertanyaan yang cekap pada JSON lajur?

Terdapat beberapa perkara yang boleh anda lakukan untuk melaksanakan pertanyaan yang cekap pada lajur JSON:

  • Gunakan indeks. MySQL menyokong indeks pada JSON lajur. Ini boleh meningkatkan prestasi pertanyaan yang menapis atau mengisih pada nilai JSON dengan ketara.
  • Gunakan fungsi JSON_TYPE(). Fungsi JSON_TYPE() boleh digunakan untuk menyemak jenis data sesuatu nilai JSON. Ini berguna untuk menapis baris yang tidak mengandungi jenis data yang anda cari.
  • Gunakan fungsi JSON_KEYS(). Fungsi JSON_KEYS() boleh digunakan untuk mendapatkan senarai semua kunci dalam objek JSON. Ini boleh berguna untuk menjana pertanyaan dinamik.

Atas ialah kandungan terperinci mysql bagaimana untuk menanyakan lajur 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