SQLite হলো একটি লাইটওয়েট এবং এম্বেডেড ডেটাবেস যা পাইথনে সহজেই ব্যবহার করা যায়। এটি একটি সার্ভারলেস, জিরো-কনফিগারেশন ডেটাবেস, যা ফাইল হিসেবে কাজ করে এবং ছোট প্রজেক্ট বা অ্যাপ্লিকেশনগুলির জন্য আদর্শ।
SQLite সেটআপ
পাইথনে SQLite ব্যবহার করার জন্য sqlite3 মডিউলটি বিল্ট-ইন রয়েছে, যা ব্যবহার করে SQLite ডেটাবেসে সহজেই কানেক্ট করা যায়। এটি অন্য কোনো ইন্সটলেশনের প্রয়োজন হয় না।
import sqlite3
SQLite ডেটাবেস তৈরি ও কানেক্ট করা
নিচের উদাহরণটি একটি নতুন SQLite ডেটাবেস তৈরি ও কানেক্ট করার প্রক্রিয়া দেখায়। যদি ডেটাবেস ফাইলটি আগে থেকে না থাকে, তবে এটি নতুন করে তৈরি হবে।
import sqlite3
# ডেটাবেস তৈরি করা বা কানেক্ট করা
connection = sqlite3.connect("mydatabase.db")
# কার্সার অবজেক্ট তৈরি করা, যা দিয়ে SQL কমান্ড চালানো হবে
cursor = connection.cursor()
টেবিল তৈরি
নিচের উদাহরণে একটি students নামের টেবিল তৈরি করা হয়েছে।
# টেবিল তৈরি
cursor.execute("""
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
grade TEXT
)
""")
print("Table created successfully!")
ডেটা ইনসার্ট করা
INSERT INTO SQL স্টেটমেন্ট ব্যবহার করে টেবিলে ডেটা ইনসার্ট করা যায়।
# ডেটা ইনসার্ট
cursor.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ("Alice", 21, "A"))
cursor.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ("Bob", 22, "B"))
# পরিবর্তন সংরক্ষণ করা
connection.commit()
print("Data inserted successfully!")
ডেটা রিড করা
SELECT SQL স্টেটমেন্ট ব্যবহার করে টেবিল থেকে ডেটা রিড করা যায়।
# ডেটা রিড
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(row)
ডেটা আপডেট করা
UPDATE SQL স্টেটমেন্ট ব্যবহার করে ডেটা আপডেট করা যায়।
# ডেটা আপডেট
cursor.execute("UPDATE students SET grade = ? WHERE name = ?", ("A+", "Bob"))
# পরিবর্তন সংরক্ষণ করা
connection.commit()
print("Data updated successfully!")
ডেটা ডিলিট করা
DELETE FROM SQL স্টেটমেন্ট ব্যবহার করে টেবিল থেকে ডেটা ডিলিট করা যায়।
# ডেটা ডিলিট
cursor.execute("DELETE FROM students WHERE name = ?", ("Alice",))
# পরিবর্তন সংরক্ষণ করা
connection.commit()
print("Data deleted successfully!")
ডেটাবেস কানেকশন বন্ধ করা
কাজ শেষ হলে অবশ্যই কানেকশন বন্ধ করা উচিত।
# কানেকশন বন্ধ
connection.close()
print("Database connection closed.")
সম্পূর্ণ উদাহরণ
import sqlite3
# ডেটাবেস কানেক্ট করা বা তৈরি করা
connection = sqlite3.connect("mydatabase.db")
cursor = connection.cursor()
# টেবিল তৈরি
cursor.execute("""
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
grade TEXT
)
""")
# ডেটা ইনসার্ট
cursor.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ("Alice", 21, "A"))
cursor.execute("INSERT INTO students (name, age, grade) VALUES (?, ?, ?)", ("Bob", 22, "B"))
connection.commit()
# ডেটা রিড
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(row)
# ডেটা আপডেট
cursor.execute("UPDATE students SET grade = ? WHERE name = ?", ("A+", "Bob"))
connection.commit()
# ডেটা ডিলিট
cursor.execute("DELETE FROM students WHERE name = ?", ("Alice",))
connection.commit()
# কানেকশন বন্ধ করা
connection.close()
সারসংক্ষেপ
SQLite পাইথনের জন্য একটি সহজ এবং কার্যকরী ডেটাবেস সিস্টেম, যা sqlite3 মডিউল ব্যবহার করে কাজ করে। এটি ডেটাবেস তৈরি, টেবিল তৈরি, ডেটা ইনসার্ট, রিড, আপডেট এবং ডিলিট করতে সহায়ক। SQLite ছোট প্রজেক্ট এবং অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত একটি ডেটাবেস সলিউশন।
Read more