H2 ডেটাবেজে JSON (JavaScript Object Notation) ডেটা সংরক্ষণ এবং পরিচালনা করার জন্য কিছু বিশেষ ফাংশন এবং কুয়েরি ব্যবহার করা যায়। JSON ডেটা স্টোর করার সুবিধা ডেটাবেজের মধ্যে বিভিন্ন ধরনের অ-রিলেশনাল বা নেস্টেড ডেটা ব্যবস্থাপনা করার জন্য অত্যন্ত উপকারী। H2 ডেটাবেজ JSON ডেটা টেবিলের কলামে সংরক্ষণ করতে পারে এবং JSON ডেটার উপর বিভিন্ন কার্যক্রম যেমন অনুসন্ধান (querying), ফিল্টার (filtering) এবং আপডেট (update) করা যায়।
H2 ডেটাবেজ JSON ডেটার জন্য কিছু বিশেষ ফাংশন এবং কুয়েরি সাপোর্ট করে, যা ডেটাবেজে JSON ডেটার সাথে কাজ করার সময় সাহায্য করে।
H2 ডেটাবেজে JSON ডেটা সংরক্ষণ করতে, আপনি সাধারণভাবে VARCHAR
বা CLOB
ডেটাটাইপ ব্যবহার করতে পারেন, কারণ H2 JSON ডেটা স্টোর করার জন্য কোনও নির্দিষ্ট JSON
ডেটাটাইপ সরাসরি সাপোর্ট করে না। তবে, আপনি JSON ডেটা হ্যান্ডল করতে H2-তে বিশেষ JSON ফাংশন ব্যবহার করতে পারেন।
CREATE TABLE employees (
id INT PRIMARY KEY,
data VARCHAR(255)
);
এখানে, data
কলামটিতে JSON ডেটা স্টোর হবে।
INSERT INTO employees (id, data)
VALUES (1, '{"name": "Alice", "age": 30, "department": "HR"}');
এই কুয়েরি employees
টেবিলে একটি রেকর্ড ইনসার্ট করবে যেখানে data
কলামটি JSON ফরম্যাটে ডেটা স্টোর করবে।
H2 ডেটাবেজে JSON ডেটার উপর কাজ করার জন্য কিছু নির্দিষ্ট ফাংশন রয়েছে। এই ফাংশনগুলির মাধ্যমে আপনি JSON ডেটা থেকে নির্দিষ্ট তথ্য বের করতে, নতুন JSON ফাইল তৈরি করতে এবং বিভিন্ন অপারেশন করতে পারবেন।
JSON_VALUE()
ফাংশনটি JSON ডেটার মধ্যে থেকে নির্দিষ্ট কীগুলির মান বের করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট JSON ডেটার মধ্যে থেকে নির্দিষ্ট কীগুলির মান রিটার্ন করে।
SELECT JSON_VALUE(data, '$.name') AS name FROM employees;
এই কুয়েরি employees
টেবিল থেকে প্রতিটি data
কলামের JSON ডেটা থেকে "name"
কীগুলির মান বের করবে।
JSON_OBJECT()
ফাংশনটি JSON অবজেক্ট তৈরি করতে ব্যবহৃত হয়। আপনি বিভিন্ন কীগুলির মান দিয়ে একটি নতুন JSON অবজেক্ট তৈরি করতে পারেন।
SELECT JSON_OBJECT('id', id, 'name', JSON_VALUE(data, '$.name')) AS employee_info
FROM employees;
এটি employees
টেবিল থেকে id
এবং name
কীগুলির মান নিয়ে একটি নতুন JSON অবজেক্ট তৈরি করবে।
JSON_ARRAY()
ফাংশনটি একাধিক JSON অবজেক্ট বা মানের একটি অ্যারে তৈরি করতে ব্যবহৃত হয়।
SELECT JSON_ARRAY('Alice', 'Bob', 'Charlie') AS names;
এটি একটি JSON অ্যারে তৈরি করবে যা "Alice"
, "Bob"
, এবং "Charlie"
নামগুলো অন্তর্ভুক্ত করবে।
JSON_QUERY()
ফাংশনটি JSON ডেটার একটি অংশ (sub-query) রিটার্ন করতে ব্যবহৃত হয়।
SELECT JSON_QUERY(data, '$.department') AS department FROM employees;
এটি employees
টেবিলের data
কলাম থেকে "department"
কীগুলির মান বের করবে।
H2 ডেটাবেজে JSON ডেটার উপর কাজ করার জন্য আপনি SQL কুয়েরি ব্যবহার করতে পারেন। JSON ডেটা থেকে তথ্য বের করার জন্য JSON_VALUE()
, JSON_QUERY()
, এবং JSON_OBJECT()
ফাংশনগুলি ব্যবহার করা যেতে পারে। এছাড়া, H2 ডেটাবেজ JSON ডেটার মধ্যে নির্দিষ্ট শর্ত দিয়ে ফিল্টারিং এবং অনুসন্ধান করতে সক্ষম।
SELECT * FROM employees
WHERE JSON_VALUE(data, '$.department') = 'HR';
এটি employees
টেবিল থেকে সেই সমস্ত রেকর্ড নির্বাচন করবে যাদের data
কলামের JSON ডেটার মধ্যে "department"
কীগুলির মান 'HR'
।
JSON ডেটার মধ্যে নতুন মান আপডেট করতে, UPDATE
কুয়েরি ব্যবহার করা হয়:
UPDATE employees
SET data = JSON_SET(data, '$.age', 31)
WHERE id = 1;
এটি id = 1
এর জন্য data
কলামের JSON ডেটাতে "age"
কীগুলির মান 31 করে দিবে।
H2 ডেটাবেজ JSON অ্যারে অপারেশনও সমর্থন করে, যেমন অ্যারে থেকে নির্দিষ্ট মান বের করা এবং অ্যারে আপডেট করা।
SELECT JSON_ARRAY(1, 2, 3, 4, 5) AS numbers,
JSON_VALUE(JSON_ARRAY(1, 2, 3, 4, 5), '$[2]') AS third_value;
এটি একটি JSON অ্যারে তৈরি করবে এবং তার মধ্যে থেকে তৃতীয় মান (index 2) বের করবে, অর্থাৎ "3"
।
UPDATE employees
SET data = JSON_SET(data, '$.skills[0]', 'Java')
WHERE id = 1;
এটি id = 1
এর জন্য data
কলামের JSON ডেটাতে "skills"
অ্যারের প্রথম উপাদান পরিবর্তন করবে এবং সেটি 'Java'
রাখবে।
JSON ডেটার মধ্যে কন্ডিশনাল ফিল্টারিং করার জন্য WHERE
ক্লজে JSON_VALUE()
বা JSON_QUERY()
ফাংশন ব্যবহার করা হয়।
SELECT * FROM employees
WHERE JSON_VALUE(data, '$.age') > 25;
এটি employees
টেবিলের সেই সব রেকর্ড নির্বাচন করবে যাদের data
কলামের JSON ডেটাতে "age"
কীগুলির মান ২৫ এর বেশি।
H2 ডেটাবেজ JSON ডেটার উপর কাজ করার জন্য বিভিন্ন ফাংশন এবং কুয়েরি সাপোর্ট করে, যার মাধ্যমে আপনি JSON ডেটা স্টোর, আপডেট, অনুসন্ধান এবং প্রক্রিয়া করতে পারবেন। JSON_VALUE()
, JSON_OBJECT()
, JSON_ARRAY()
, এবং JSON_QUERY()
ফাংশনগুলো JSON ডেটার প্রক্রিয়াকরণে সহায়ক, এবং এগুলি ডেটাবেজের ভেতরে বিভিন্ন জটিল JSON ডেটা নিয়ে কাজ করতে সক্ষম করে। JSON ডেটা ব্যবস্থাপনা H2 ডেটাবেজের একটি শক্তিশালী বৈশিষ্ট্য, যা ডেভেলপারদের অ্যাপ্লিকেশন এবং ডেটাবেসের মধ্যে সহজে তথ্য বিনিময়ের সুযোগ প্রদান করে।
common.read_more