ক্রুড (CRUD) অপারেশন হলো চারটি মৌলিক ডেটা ম্যানিপুলেশন অপারেশন যা ডেটাবেস পরিচালনার জন্য ব্যবহৃত হয়। CRUD এর পূর্ণরূপ:
- C - Create: নতুন ডেটা তৈরি করা
- R - Read: ডেটা পড়া বা দেখানো
- U - Update: বিদ্যমান ডেটা আপডেট করা
- D - Delete: ডেটা মুছে ফেলা
নীচে আমরা SQLite এবং Python ব্যবহার করে CRUD অপারেশন করার উদাহরণ আলোচনা করব।
১. SQLite ডেটাবেস কানেক্টিভিটি সেটআপ
প্রথমে sqlite3 মডিউল ব্যবহার করে ডেটাবেসের সাথে কানেক্টিভিটি তৈরি করা হবে এবং একটি টেবিল তৈরি করা হবে।
import sqlite3
# ডাটাবেজের সাথে সংযোগ তৈরি
conn = sqlite3.connect('example.db')
# কার্সর তৈরি
cursor = conn.cursor()
# টেবিল তৈরি করা (যদি বিদ্যমান না থাকে)
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER)''')
২. Create অপারেশন
নতুন ডেটা যোগ করার জন্য INSERT INTO কমান্ড ব্যবহার করা হয়।
# ডেটা সন্নিবেশ করানো
def create_user(name, age):
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", (name, age))
conn.commit()
print("User added successfully.")
# উদাহরণ
create_user('Alice', 25)
create_user('Bob', 30)
৩. Read অপারেশন
ডেটা দেখানোর জন্য SELECT কমান্ড ব্যবহার করা হয়।
# সমস্ত ব্যবহারকারী দেখানো
def read_users():
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
# উদাহরণ
read_users()
৪. Update অপারেশন
বিদ্যমান ডেটা আপডেট করার জন্য UPDATE কমান্ড ব্যবহার করা হয়।
# নির্দিষ্ট ব্যবহারকারীর তথ্য আপডেট করা
def update_user(user_id, new_name, new_age):
cursor.execute("UPDATE users SET name = ?, age = ? WHERE id = ?", (new_name, new_age, user_id))
conn.commit()
print("User updated successfully.")
# উদাহরণ
update_user(1, 'Alice Johnson', 26)
৫. Delete অপারেশন
ডেটা মুছে ফেলার জন্য DELETE FROM কমান্ড ব্যবহার করা হয়।
# নির্দিষ্ট ব্যবহারকারী মুছে ফেলা
def delete_user(user_id):
cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))
conn.commit()
print("User deleted successfully.")
# উদাহরণ
delete_user(2)
সম্পূর্ণ কোড একসাথে
import sqlite3
# ডাটাবেজের সাথে সংযোগ তৈরি
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# টেবিল তৈরি
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER)''')
# Create অপারেশন
def create_user(name, age):
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", (name, age))
conn.commit()
print("User added successfully.")
# Read অপারেশন
def read_users():
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
# Update অপারেশন
def update_user(user_id, new_name, new_age):
cursor.execute("UPDATE users SET name = ?, age = ? WHERE id = ?", (new_name, new_age, user_id))
conn.commit()
print("User updated successfully.")
# Delete অপারেশন
def delete_user(user_id):
cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))
conn.commit()
print("User deleted successfully.")
# উদাহরণ
create_user('Alice', 25)
create_user('Bob', 30)
read_users()
update_user(1, 'Alice Johnson', 26)
delete_user(2)
read_users()
# সংযোগ বন্ধ
conn.close()
আউটপুট:
- প্রথমে
create_user()ফাংশন ব্যবহার করে দুটি ব্যবহারকারী তৈরি করা হবে। read_users()ফাংশন ব্যবহার করে সব ব্যবহারকারীকে দেখানো হবে।update_user()ফাংশন ব্যবহার করে প্রথম ব্যবহারকারীর তথ্য আপডেট করা হবে।delete_user()ফাংশন ব্যবহার করে দ্বিতীয় ব্যবহারকারীকে মুছে ফেলা হবে।- আবার
read_users()ফাংশন ব্যবহার করে পরিবর্তিত ডেটা দেখানো হবে।
উপসংহার
CRUD অপারেশনগুলি ডেটাবেস ম্যানিপুলেশনের মূল ভিত্তি। এই অপারেশনগুলির মাধ্যমে সহজেই ডেটা তৈরি, পড়া, আপডেট এবং মুছে ফেলা সম্ভব হয়। SQLite, MySQL, PostgreSQL সহ যেকোনো ডেটাবেসের জন্য এই অপারেশনগুলি মূলত একইভাবে কাজ করে, তবে প্রতিটি ডেটাবেসের সাথে সামঞ্জস্য রাখতে কিছু ফাংশন পরিবর্তিত হতে পারে।