Panduan Pemula untuk Fungsi SQL - JSON

Hai sana, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia fungsi SQL dan JSON. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah ini secara bertahap. Pada akhir panduan ini, Anda akan dapat mengelola data JSON seperti seorang ahli!

SQL - JSON Functions

Apa Itu JSON?

Sebelum kita masuk ke dalam fungsi SQL, mari bicarakan tentang JSON. JSON adalah singkatan dari JavaScript Object Notation, dan itu adalah cara populer untuk menyimpan dan pertukaran data. Pahami itu sebagai cara untuk mengatur informasi dalam format yang mudah dibaca oleh manusia dan komputer.

Misalnya, ini adalah data JSON tentang sebuah buku:

{
"title": "The SQL Adventure",
"author": "Jane Coder",
"year": 2023,
"genres": ["Technology", "Education"]
}

Lihat betapa rapi dan teratur itu terlihat? Itu keindahan JSON!

Mengapa Menggunakan JSON dalam SQL?

Sekarang, Anda mungkin bertanya-tanya, "Mengapa kita memerlukan JSON dalam basis data kita?" Well, bayangkan Anda menjalankan sebuah toko buku online. Beberapa buku mungkin memiliki beberapa penulis, sedangkan yang lain hanya memiliki satu. Beberapa mungkin memiliki banyak genre, yang lain hanya beberapa. JSON memungkinkan kita menyimpan informasi yang beragam secara fleksibel tanpa menciptakan banyak tabel terpisah.

Fungsi SQL JSON: Teman Baru Anda

Ayo kenal teman utama dalam permainan SQL-JSON kita. Fungsi-fungsi ini membantu kita bekerja dengan data JSON dalam basis data SQL kita.

1. JSON_VALUE()

Fungsi ini seperti seorang penjelajah. Itu menggali ke dalam data JSON Anda dan mengeluarkan nilai tertentu.

SELECT JSON_VALUE('{"name": "Alice", "age": 30}', '$.name') AS FirstName;

Ini akan mengembalikan:

FirstName
--------
Alice

Di sini, kita meminta SQL untuk melihat ke dalam data JSON kita dan menemukan nilai yang terkait dengan kunci "name".

2. JSON_QUERY()

Sementara JSON_VALUE mengambil nilai tunggal, JSON_QUERY dapat mengambil objek atau array keseluruhan.

SELECT JSON_QUERY('{"books": ["SQL 101", "JSON Mastery"]}', '$.books') AS BookList;

Hasil:

BookList
--------
["SQL 101", "JSON Mastery"]

Fungsi ini sempurna saat Anda perlu mengeluarkan struktur JSON bersarang.

3. JSON_MODIFY()

Fungsi ini seperti editor JSON pribadi Anda. Itu memungkinkan Anda mengubah nilai dalam data JSON Anda.

DECLARE @json NVARCHAR(100) = '{"name": "Bob", "age": 35}';
SELECT JSON_MODIFY(@json, '$.age', 36) AS UpdatedJSON;

Hasil:

UpdatedJSON
-----------
{"name": "Bob", "age": 36}

Kami saja memberi Bob ulang tahun! Kami mengubah umurnya dari 35 menjadi 36.

4. ISJSON()

Fungsi ini adalah detektif JSON kita. Itu memeriksa apakah string valid JSON.

SELECT ISJSON('{"name": "Charlie", "age": 40}') AS IsValidJSON;

Hasil:

IsValidJSON
-----------
1

Nilai kembalian 1 berarti "Ya, ini valid JSON", sedangkan 0 berarti "Tidak, bukan JSON valid".

5. JSON_OBJECT()

Fungsi ini seperti pabrik JSON. Itu menciptakan objek JSON dari data SQL Anda.

SELECT JSON_OBJECT('name': 'Dana', 'age': 28) AS PersonJSON;

Hasil:

PersonJSON
----------
{"name":"Dana","age":28}

Ini adalah cara yang bagus untuk mengkonversi data SQL biasa Anda ke format JSON.

Menggabungkan Semua

Sekarang kita telah kenal fungsi JSON kita, mari lihat bagaimana kita dapat menggunakan mereka dalam konteks dunia nyata. Bayangkan kita mengelola toko buku online yang kita bicarakan sebelumnya.

-- Buat tabel untuk menyimpan informasi buku
CREATE TABLE Books (
BookID INT PRIMARY KEY,
BookInfo NVARCHAR(MAX)
);

-- Sisipkan beberapa data contoh
INSERT INTO Books (BookID, BookInfo)
VALUES
(1, '{"title": "SQL Basics", "author": "John Doe", "year": 2020, "genres": ["Technology", "Education"]}'),
(2, '{"title": "JSON and You", "author": "Jane Smith", "year": 2021, "genres": ["Technology"]}');

-- Query untuk mendapatkan judul buku
SELECT
BookID,
JSON_VALUE(BookInfo, '$.title') AS Title
FROM Books;

-- Query untuk mendapatkan semua genre
SELECT
BookID,
JSON_QUERY(BookInfo, '$.genres') AS Genres
FROM Books;

-- Update tahun buku
UPDATE Books
SET BookInfo = JSON_MODIFY(BookInfo, '$.year', 2023)
WHERE BookID = 1;

-- Tambah genre baru ke buku
UPDATE Books
SET BookInfo = JSON_MODIFY(
BookInfo,
'$.genres',
JSON_QUERY(
CONCAT(
'[',
SUBSTRING(JSON_QUERY(BookInfo, '$.genres'), 2, LEN(JSON_QUERY(BookInfo, '$.genres')) - 2),
',"Programming"]'
)
)
)
WHERE BookID = 2;

-- Periksa apakah BookInfo valid JSON
SELECT
BookID,
ISJSON(BookInfo) AS IsValidJSON
FROM Books;

Dan itu saja! Kita telah membuat tabel, sisipkan data JSON, mengquery nilai tertentu, memperbarui JSON, dan bahkan menambahkan informasi baru ke array JSON.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia fungsi SQL JSON. Fungsi-fungsi ini memungkinkan kita bekerja dengan struktur data bersarang dan fleksibel secara langsung dalam basis data SQL. Sebagai Anda terus menjalankan perjalanan Anda, Anda akan menemukan banyak cara untuk memanfaatkan fungsi ini untuk menciptakan solusi basis data yang kuat dan fleksibel.

Ingat, kunci untuk menguasai konsep ini adalah latihan. Jadi jangan takut untuk mencoba sendiri data JSON dan query SQL Anda. Selamat coding, dan semoga basis data Anda selalu normal!

Credits: Image by storyset