If you're seeing this message, it means we're having trouble loading external resources on our website.

তোমার যদি কোন ওয়েব ফিল্টার দেওয়া থাকে, তাহলে দয়া করে নিশ্চিত কর যে *.kastatic.org এবং *.kasandbox.org ডোমেইনগুলো উন্মুক্ত।

মূল বিষয়বস্তু

SQL ব্যবহার করার মাধ্যমে ডেটাবেজ আপডেট করা

এই সম্পূর্ণ কোর্সে উল্লেখ করা হয়েছে যে, অনেক সময় ডেটাবেজের জন্য SQL অথবা SQL এর মতো কুয়েরির ভাষা ব্যবহার করতে হয়। একটি ব্যবহার হল "read-only operation" (ডেটাবেজ পড়ার কাজ) এবং আরেকটি ব্যবহার হল "read/write operations" (ডেটাবেজ পড়া/লেখার কাজ)।
"read-only operation" ব্যবহারের একটি উদাহরণ হল কোন অ্যাপ বা গবেষণা হতে প্রাপ্ত ডাটা বিশ্লেষণ করা। উদাহরণস্বরূপ, যদি আমি ডাটার বিজ্ঞানী হতাম এবং দুগ্ধ (dairy) প্রক্রিয়াজাতকরণ করে এমন কোন কোম্পানির সাথে কাজ করতাম, তাহলে আমি দৌড়ানোর পর আইসক্রিম (ice cream) খান এমন গ্রাহকদের সংখ্যা কুয়েরি করতাম, ফলশ্রুতিতে ব্যায়ামের পর মানুষ আইসক্রিম খেতে বেশি পছন্দ করে কিনা জানতে পারতাম:
SELECT * FROM diary_logs WHERE
       food LIKE "%ice cream%" AND activity LIKE "%running%";
যদি আমি এমনভাবে ডাটা বিশ্লেষণ করি, তাহলে সবকিছুই হল SELECT - এটা শুধুই পড়া যায় অর্থাৎ read only। আমরা নতুন কোন ডাটা তৈরি করছি না, শুধু প্রাপ্ত ডাটাকে কুয়েরি করছি। আমাদেরকে SELECT কুয়েরি ব্যবহারে খুবই পারদর্শী হতে হবে, কিন্তু এক্ষেত্রে আমাদের নতুন টেবিল করা, সারি আপডেট করা এবং ইত্যাদি আর কোন কাজ করতে হবে না।
একটি "read/write operations" এর উদাহরণ হল কোন ওয়েব অ্যাপ এর জন্য ব্যাকএন্ড তৈরি করা। উদাহরণস্বরূপ, যদি স্বাস্থ্য যাচাই করার জন্য একটি অ্যাপ তৈরি করতাম, তাহলে এমনভাবে কোড করতাম যেন প্রতিদিন ব্যবহারকারীদের নতুন তথ্য ডেটাবেজে সংরক্ষণ করা যায়:
INSERT INTO diary_logs (id, food, activity)
            VALUES (123, "ice cream", "running");
এক্ষেত্রে আমি একটি সার্ভার সাইড ভাষা থেকেই SQL কমান্ড চালনা করতাম, সহজে কমান্ড তৈরির জন্য অবশ্যই লাইব্রেরি ব্যবহার করতাম। উপাত্ত সংরক্ষণের জন্য Python (পাইথন) এর সাথে SQLAlchemy লাইব্রেরি ব্যবহার করে নিচের মত কোড করতাম:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
এখানে ব্যবহারকারীর প্রতিদিনের তথ্য সংরক্ষণ, বাদ দেওয়া অথবা অ্যাকাউন্টের উপর ভিত্তি করে ডেটাবেজ পরিবর্তনের জন্য SQL এও কোড করতে হত। ব্যবহারকারীর প্রতিদিনের তথ্যে আরও বৈশিষ্ট্য যোগ করতে চাইলে, যেমন ব্যবহারকারীর অনুভুতি যাচাই করা যে, তারা ব্যায়ামের পর আইসক্রিম খেয়ে কতটা খুশি (আমার ধারণা: অনেক খুশি), এক্ষেত্রে আমাকে টেবিল পরিবর্তনের জন্যও SQL কোড করতে হত।
এগুলো সবই "write operations" (ডেটাবেজে লেখার কাজ) এবং কোন অ্যাপে উপাত্ত সংরক্ষণ এবং আপডেট করার জন্য এটার ব্যবহার আবশ্যক। INSERT ব্যবহার করা তুলনামুলকভাবে নিরাপদ, কারণ এটা শুধু ডাটা যোগ করে, কিন্তু UPDATE, DELETE, DROP অথবা ALTER ব্যবহার করা খুবই বিপদজনক, কারণ এক্ষেত্রে আগের ডাটাকেই আপডেট করা হয়। এজন্যই এগুলোর সম্পর্কে খুবই ভালোভাবে ধারণা থাকতে হবে এবং সতর্কতার সাথে ব্যবহার করতে হবে। এগুলোর ব্যবহার শেখা যাক!

আলোচনায় অংশ নিতে চাও?

কোন আলাপচারিতা নেই।
ইংরেজি জানো? খান একাডেমির ইংরেজি সাইটে আরো আলোচনা দেখতে এখানে ক্লিক কর।