JSON কী এবং কেন MySQL এ সংরক্ষণ করা হয়?
JSON (JavaScript Object Notation) হল একটি জনপ্রিয় ডাটা ফরম্যাট যা ডাটা সংরক্ষণ এবং স্থানান্তর করার জন্য ব্যবহৃত হয়। এটি সাধারণত টেক্সট ভিত্তিক এবং হিউম্যান রিডেবল ফরম্যাটে ডাটা রাখে। JSON এ ডাটা সাধারণত পেরেন্ট-চাইল্ড কিপল বা কীগুলোর মাধ্যমে সংরক্ষিত থাকে, যার ফলে এটি ডাটা স্ট্রাকচারকে সহজভাবে উপস্থাপন করতে সক্ষম।
MySQL ডাটাবেসে JSON ডাটা সংরক্ষণ করার মাধ্যমে আপনি ডাইনামিক এবং স্ট্রাকচারাল ডাটা সঞ্চয় করতে পারেন, যেমন অ্যাপ্লিকেশন কনফিগারেশন, ইউজার প্রেফারেন্স, লিস্ট, বা এমনকি ডকুমেন্ট ভিত্তিক ডাটা।
MySQL এ JSON Data স্টোর করার পদ্ধতি
MySQL 5.7 এবং তার পরবর্তী ভার্সনগুলোতে JSON ডাটা টাইপ সাপোর্ট করে। আপনি JSON ডাটা টাইপ ব্যবহার করে সহজে JSON ডাটা সংরক্ষণ করতে পারবেন।
1. MySQL টেবিল তৈরি করা
প্রথমে একটি টেবিল তৈরি করতে হবে যেখানে JSON ডাটা সংরক্ষণ করা হবে। উদাহরণস্বরূপ, নিচের SQL কমান্ডটি ব্যবহার করা যেতে পারে:
CREATE TABLE user_data (
id INT AUTO_INCREMENT PRIMARY KEY,
user_info JSON
);
এখানে user_info কলামটি JSON ডাটা টাইপ ব্যবহার করছে।
2. JSON ডাটা ইনসার্ট করা
পিএইচপি ব্যবহার করে MySQL এ JSON ডাটা ইনসার্ট করা যেতে পারে। নিচে একটি উদাহরণ দেওয়া হলো:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
// চেক করুন সংযোগ সফল হয়েছে কি না
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// JSON ডাটা তৈরি করুন
$json_data = json_encode([
'name' => 'John Doe',
'age' => 30,
'email' => 'johndoe@example.com'
]);
// ইনসার্ট কোয়েরি
$query = "INSERT INTO user_data (user_info) VALUES ('$json_data')";
if ($mysqli->query($query) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $query . "<br>" . $mysqli->error;
}
$mysqli->close();
?>
এখানে json_encode ফাংশনটি PHP অ্যারের ডাটাকে JSON ফরম্যাটে রূপান্তর করছে, এবং তারপর সেই JSON ডাটাটি MySQL টেবিলে ইনসার্ট করা হচ্ছে।
3. JSON ডাটা রিড করা
MySQL থেকে JSON ডাটা রিড করার জন্য আপনি নিচের কোয়েরি ব্যবহার করতে পারেন:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// ডাটা রিট্রিভ করার কোয়েরি
$query = "SELECT user_info FROM user_data WHERE id = 1";
$result = $mysqli->query($query);
if ($result->num_rows > 0) {
// ডাটা রিড
$row = $result->fetch_assoc();
$user_info = json_decode($row['user_info'], true); // JSON ডাটা অ্যারে হিসেবে রূপান্তর করা
print_r($user_info); // অ্যারের কন্টেন্ট দেখানো
} else {
echo "No records found";
}
$mysqli->close();
?>
এখানে json_decode ফাংশনটি MySQL থেকে প্রাপ্ত JSON ডাটাকে PHP অ্যারে হিসেবে রূপান্তর করছে, যাতে আপনি ডাটাগুলি সহজভাবে ব্যবহার করতে পারেন।
MySQL এ JSON ফাংশন ব্যবহার করা
MySQL JSON ডাটা টাইপের সঙ্গে কিছু ফাংশনও প্রদান করে, যা JSON ডাটা থেকে তথ্য বের করতে সাহায্য করে। নিচে কিছু উদাহরণ দেওয়া হলো:
1. JSON_EXTRACT
JSON ডাটাতে নির্দিষ্ট তথ্য বের করতে JSON_EXTRACT ফাংশন ব্যবহার করা হয়:
SELECT JSON_EXTRACT(user_info, '$.name') AS name FROM user_data WHERE id = 1;
এটি user_info কলাম থেকে name এর মান বের করবে।
2. JSON_UNQUOTE
যদি আপনি JSON ডাটা থেকে উদ্ধৃতিসহ মান না চান, তবে JSON_UNQUOTE ব্যবহার করতে পারেন:
SELECT JSON_UNQUOTE(JSON_EXTRACT(user_info, '$.email')) AS email FROM user_data WHERE id = 1;
এটি JSON ডাটা থেকে email এর মান বের করবে এবং উদ্ধৃতি চিহ্ন মুছে ফেলবে।
3. JSON_SET
JSON ডাটার মধ্যে নতুন মান সেট করতে JSON_SET ব্যবহার করা হয়:
UPDATE user_data
SET user_info = JSON_SET(user_info, '$.age', 31)
WHERE id = 1;
এটি user_info এর age ফিল্ডের মান ৩১ এ আপডেট করবে।
সারাংশ
MySQL এ JSON ডাটা সংরক্ষণ এবং পরিচালনা করা সহজ, বিশেষত যখন ডাটা স্ট্রাকচার ডাইনামিক বা নেস্টেড হয়। পিএইচপি এবং MySQL এর মাধ্যমে JSON ডাটা ইনসার্ট, রিট্রিভ এবং ম্যানিপুলেট করা সম্ভব। MySQL JSON ফাংশন ব্যবহার করে ডাটার নির্দিষ্ট অংশ বের করা বা আপডেট করা যায়, যা উন্নত ডাটাবেস ম্যানেজমেন্টে সাহায্য করে।
Read more