Contoh tipe data mysql json

MYSQL adalah sistem manajemen basis data relasional sumber terbuka dan dalam artikel ini, kita akan melihat cara kerjanya dengan Tipe Data JSON. Kita akan melihat cara memasukkan tipe data JSON ke dalam tabel MYSQL dan kita juga akan melihat berbagai fungsi yang tersedia di MYSQL untuk lebih lanjut memilih dan menanyakan dokumen atau objek JSON. Dari versi 5. 7. 8 kita bahkan dapat menyimpan data JSON secara asli dan MYSQL memiliki banyak tipe data dan fungsi untuk mengelolanya

Memulai dengan JSON

JSON atau JavaScript Object Notation adalah format untuk pertukaran data yang biasanya terdiri dari objek, array, string, angka, dan Boolean. Format ini juga bebas bahasa, jadi tidak masalah jika Anda menggunakan java, SQL, kotlin, ruby, atau bahasa lain yang kompatibel dengannya. Untuk mengetahui informasi lebih lanjut tentang format JSON Anda dapat merujuk ke https. // www. json. org/json-en. html. Pada artikel ini, kita akan melihat bagaimana MYSQL berinteraksi dengan JSON dan fungsi apa saja yang tersedia. Berikut adalah tabel yang kami gunakan untuk tujuan demonstrasi untuk menunjukkan penggunaan MSQL untuk JSON

Mulai Kursus Ilmu Data Gratis Anda

Hadoop, Ilmu Data, Statistik & lainnya

Contoh tipe data mysql json

Kemudian kita akan menambahkan kolom dengan tipe JSON untuk menyimpan data native JSON. Basis data disiapkan di phpMyAdmin dan untuk kemudahan akses Datagrip dari Jetbrains digunakan untuk menanyakan dan mengubah basis data

Paket Ilmu Data Semua dalam Satu(360+ Kursus, 50+ proyek)

Contoh tipe data mysql json
Contoh tipe data mysql json
Contoh tipe data mysql json
Contoh tipe data mysql json

Contoh tipe data mysql json
Contoh tipe data mysql json
Contoh tipe data mysql json
Contoh tipe data mysql json

Harga
Lihat Kursus

360+ Kursus Daring. 50+ proyek. 1500+ Jam. Sertifikat yang Dapat Diverifikasi. Akses Seumur Hidup
4. 7 (85.802 peringkat)

Contoh tipe data mysql json

Contoh tipe data mysql json

Pertama, kita akan menambahkan kolom person_data bertipe JSON menggunakan query berikut

alter table people
add column person_data JSON

Kemudian kita akan menggunakan pernyataan insert berikut. Sebelum menggunakannya pastikan person_id adalah primary key dan juga autoincrement

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_

Dalam kueri ini kami menambahkan nama depan, nama belakang, dan person_data yang merupakan objek JSON dan kami menambahkan representasi string darinya yang biasanya dalam bentuk pasangan kunci dan nilai. Nilai dapat terdiri dari nol, benar atau salah tetapi semua harus dalam huruf kecil dan sensitif huruf sedangkan mysql tidak peka huruf besar kecil seperti Pilih NULL, Null, null ini semua akan berfungsi dengan baik

Seperti yang bisa kita lihat, data kita ditambahkan dalam bentuk JSON

Contoh tipe data mysql json

Pertanyaan selanjutnya adalah bagaimana kita dapat memilih data yang diperlukan dari seluruh data json, untuk ini ada banyak metode pembantu di MYSQL yang pertama adalah JSON_EXTRACT

Sintaksis.  

JSON_EXTRACT(json_doc, path[, path] ...)
JSON_UNQUOTE(json_val)

Kode

select person_data,
JSON_EXTRACT(person_data, '$.identity') as secret_id,
JSON_UNQUOTE(JSON_EXTRACT(person_data, '$.identity')) as super_secret_id
from people
where JSON_UNQUOTE(JSON_EXTRACT(person_data, '$.identity')) = "Superman";

Keluaran

Contoh tipe data mysql json

Pada query ini kita memilih person_data yang berformat json kemudian kita menggunakan metode JSON_EXTRACT untuk mendapatkan nilai dari properti yang teridentifikasi menggunakan simbol dollar. Dibutuhkan 2 parameter nama kolom atau ekspresi dan posisi atau properti. Perhatikan bahwa hasilnya dalam tanda kutip. Jadi, kita dapat menggunakan JSON_UNQUOTE dan memberikan nilai yang diekstraksi untuk mendapatkan nilai yang tidak dikutip. Kita bahkan dapat menggunakannya dalam klausa where untuk membandingkan nilai hasil

Buat Array dan Objek Menggunakan MYSQL

Sintaksis

JSON_ARRAY([val[, val] ...])
JSON_OBJECT([key, val[, key, val] ...])
JSON_TYPE(json_val)
_

Kode

select json_array(1, true, "name", "2009-09-12") as array,
json_object("a", 1, "b", "Steve", "c", true, "d", "null") as object,
json_type(person_data) as type
from people;

Keluaran

Contoh tipe data mysql json

Dalam kueri ini kami telah menggunakan 3 fungsi, JSON_ARRAY akan mengambil semua tipe json yang valid dan membuat array seperti yang Anda lihat dengan tanda kurung siku di hasilnya. JSON_OBJECT akan mengambil pasangan kunci dan nilai yang dipisahkan koma dan memastikan bahwa kunci tersebut selalu dalam tanda kutip. Kemudian JSON_TYPE akan memberikan tipe data yang disimpan dan dalam hal ini kita telah menyimpan seluruh objek json

Menggabungkan Fungsi di MYSQL untuk JSON

Menggabungkan fungsi di mysql untuk json dijelaskan di bawah ini

1. Gabungkan Tambalan

Sintaksis

JSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)_

Kode

select json_merge_patch('{"name":"Steve"}', '{"name":"Steve"}');

Keluaran

Contoh tipe data mysql json

Kode

select json_merge_patch('{"name":"Steve"}', '{"name":"Dave"}');_

Keluaran

Contoh tipe data mysql json

Dalam 2 kueri ini kami telah menggunakan fungsi JSON_MERGE_PATCH yang akan menggabungkan nilai yang ada dengan nilai baru dengan menambal atau menggantinya. Seperti yang dapat kita lihat pada kueri pertama nilainya sama dan pada kueri kedua nilai baru diganti

2. Gabungkan Pertahankan

Sintaksis

JSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)_

Kode

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_0

Keluaran

Contoh tipe data mysql json

Kode

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_1

Keluaran

Contoh tipe data mysql json

Dalam 2 kueri ini, kami mempertahankan nilai lama bersama dengan nilai baru seperti yang dapat kita lihat di kueri pertama, nilainya digandakan dan di kueri kedua nilai baru ditambahkan

Cari Nilai JSON

Sintaksis

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_2

Kode

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_3

Keluaran

Contoh tipe data mysql json

Dalam kueri ini, kami telah membuat satu string uji yang mewakili objek JSON dan variabel lain yang ingin kami cari di objek tersebut. Kemudian kita telah menggunakan fungsi JSON_CONTAINS yang mengambil 3 parameter, yang pertama adalah target pencarian, kemudian nilai pencarian, dan kemudian properti. Nilai pengembalian adalah 1 jika ditemukan atau 0 jika tidak ditemukan. Nilai null dikembalikan jika ada argumen yang null atau jika jalurnya tidak valid

Sintaksis

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_4

Kode

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_5

Keluaran

Contoh tipe data mysql json

Kode

insert into people(first_name, last_name, person_data)
values ('Clark', 'Kent', '{"identity": "Superman"}'),
('Bruce', 'Wayne', '{"identity": "Batman"}'),
('Bruce', 'Banner', '{"identity": "Hulk"}')
_6

Keluaran

Contoh tipe data mysql json

Dalam kueri ini kami menggunakan JSON_CONTAINS_PATH yang mengambil input json dan bergantung pada satu atau semua argumen, ini akan menentukan apakah semua jalur ada atau salah satu jalur ada dan mengembalikan 1 atau 0. Pada kueri pertama, kami telah menggunakan semua parameter dan hanya satu yang ada sehingga mengembalikan 0 dan pada kueri kedua, kami menggunakan satu parameter dan satu jalur yang ada sehingga mengembalikan 1

Kesimpulan – Tipe Data MySQL JSON

Mudah-mudahan, sekarang Anda tahu cara menggunakan data JSON dengan database MYSQL, kami telah belajar cara memasukkan nilai JSON dalam tabel MYSQL bersama dengan itu kami telah mempelajari berbagai metode pembantu yang memudahkan untuk memanipulasi nilai JSON yang disimpan

Artikel yang Direkomendasikan

Ini adalah panduan untuk Tipe Data MYSQL JSON. Disini kita juga membahas pengenalan dan membuat array dan objek menggunakan mysql beserta penjelasannya. Anda juga dapat melihat artikel berikut untuk mempelajari lebih lanjut –

Apa tipe data JSON di MySQL?

MySQL mendukung tipe data JSON asli yang ditentukan oleh RFC 7159 yang memungkinkan akses efisien ke data dalam dokumen JSON (JavaScript Object Notation) . Tipe data JSON memberikan keunggulan ini dibandingkan menyimpan string berformat JSON dalam kolom string. Validasi otomatis dokumen JSON disimpan di kolom JSON.

Bagaimana cara membuat tipe data JSON di MySQL?

Kita dapat mendefinisikan kolom tipe data JSON di tabel MySQL menggunakan indeks berikut. BUAT TABEL table_name ( .
BUAT acara TABEL (
event_id INT AUTO_INCREMENT PRIMARY KEY,
event_name varchar(75),
pengunjung varchar(25),
properti json,
browser_name json

Kapan menggunakan tipe data JSON MySQL?

MySQL mendukung tipe data JSON asli sejak versi 5. 7. 8. Tipe data JSON asli memungkinkan Anda menyimpan dokumen JSON lebih efisien daripada format teks JSON di versi sebelumnya . MySQL menyimpan dokumen JSON dalam format internal yang memungkinkan akses baca cepat ke elemen dokumen.

Bagaimana cara mengatur nilai JSON di MySQL?

Di MySQL, fungsi JSON_SET() menyisipkan atau memperbarui nilai dalam dokumen JSON dan mengembalikan hasilnya . Anda memberikan dokumen JSON sebagai argumen pertama, diikuti dengan jalur untuk disisipkan, diikuti dengan nilai untuk disisipkan. Anda dapat memberikan beberapa pasangan jalur/nilai jika Anda perlu memperbarui banyak nilai.