چگونه با SQLite در پایتون کار کنیم؟ ساخت و مدیریت پایگاهداده SQLite
فهرست مطالب این نوشته
Toggleدر برنامهنویسی، پایگاهدادهها بخشی مرکزی هستند که برای ذخیرهسازی، مدیریت و بازیابی اطلاعات به کار میروند. بدون یک سیستم منظم برای مدیریت دادهها، هیچ اپلیکیشنی نمیتواند بهدرستی عمل کند. از سیستمهای بانکی گرفته تا اپلیکیشنهای موبایل، همه به شکلی از پایگاهداده وابستهاند و در این میان یکی از کارآمدترین گزینهها، آموزش کار با دیتابیس SQLite در پایتون است.
در این مطلب آموزش دادهایم که چگونه با SQLite در پایتون یک پایگاهداده بسازید، اطلاعات ذخیره کنید، بخوانید، بهروزرسانی و حتی پاک کنید و به صورت عملی با نحوه ساخت پایگاه داده SQLite در پایتون آشنا شوید.
تخفیفهای شگفتانگیز جشنواره آکادمی چابک
تخفیف بگیر و ثبت نام کن!
SQLite چیست و چه کاربردهایی دارد؟
بهتر است از ابتدا شروع کنیم. SQLite چیست؟ این پایگاهداده در اصل یک فایل ساده است که در آن میتوانید اطلاعات خود را ذخیره و مدیریت کنید؛ بدون اینکه نیازی به نصب یا پیکربندی یک سرور جداگانه داشته باشید و همین موضوع باعث شده آموزش استفاده از SQLite در پروژههای پایتون بسیار محبوب باشد.
SQLite به معنای واقعی کلمه “سبک” است: کل کتابخانهاش بین ۳۰۰ تا ۳۵۰ کیلوبایت حجم دارد.
نکته: اگر در مسیر آموزش پایتون مقدماتی هستید، SQLite بهترین نقطهی شروع برای یادگیری مفاهیم دیتابیس است زیرا آموزش ارتباط با SQLite در پایتون بدون نیاز به تنظیمات پیچیده انجام میشود.
آموزش شروع کار با SQLite در پایتون
در پایتون نیازی به نصب کتابخانه اضافه برای SQLite ندارید. فقط کافیست ماژول sqlite3 را import کنید و اتصال را برقرار سازید. اگر هنوز نصب SQLite در ویندوز را انجام ندادهاید، نیازی نیست نگران باشید؛ sqlite3 همراه با پایتون نصب میشود و کاملاً آمادهی استفاده است.
import sqlite3
with sqlite3.connect(“students.db”) as conn:
cursor = conn.cursor()
print(“اتصال برقرار شد.”)
این دستور به صورت خودکار فایلی به نام students.db در همان پوشه پروژه شما ایجاد میکند (اگر قبلاً وجود نداشته باشد) و نمونهای ساده از نحوه ساخت پایگاه داده SQLite در پایتون است.
ساخت جدول در SQLite با پایتون
تا اینجا فقط اتصال را برقرار کردید، حالا وقت ساختن جدول است که بخش مهمی از آموزش کار با دیتابیس SQLite در پایتون به شمار میرود. فرض کنید میخواهید اطلاعات دانشآموزان یک کلاس را ذخیره کنید.
cursor.execute(”’
CREATE TABLE IF NOT EXISTS Students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT
);
”’)
conn.commit()
توجه کنید که در این جدول، فیلد id به صورت خودکار شمارهگذاری میشود. اگر در حال طی کردن مسیر آموزش پایتون متوسط هستید، میتوانید از این ساختارها برای آموزش استفاده از SQLite در پروژههای پایتون مانند سیستم حضور و غیاب یا اپلیکیشن یادآور استفاده کنید.
همین حالا ثبتنام کنید!
درج، خواندن، و بهروزرسانی دادهها در SQLite در پایتون
برای این که درک کاملتری از SQLite پیدا کنیم، بیایید وارد مراحل عملی شویم و فرآیند درج داده در SQLite با پایتون را بررسی کنیم که دادهها را چگونه با پایتون در SQLite درج کنیم؟
افزودن رکورد جدید
برای افزودن دادههای جدید به جدول، میتوانید از دستور زیر استفاده کنید که یکی از مراحل مهم در آموزش اتصال به SQLite در پایتون است.
cursor.execute(“INSERT INTO Students (name, age) VALUES (?, ?)”, (“زهرا رضایی”, 23))
برای وارد کردن تعداد زیادی رکورد تستی، میتوانید از کتابخانهی Faker کمک بگیرید:
from faker import Faker
fake = Faker([‘fa_IR’])
fake_data = [(fake.name(), fake.random_int(18, 30)) for _ in range(50)]
cursor.executemany(“INSERT INTO Students (name, age) VALUES (?, ?)”, fake_data)
خواندن دادهها از پایگاهداده
cursor.execute(“SELECT * FROM Students”)
for row in cursor.fetchall():
print(row)
اگر با کتابخانه pandas کار میکنید، خواندن دادهها را میتوانید بسیار راحتتر انجام دهید:
import pandas as pd
df = pd.read_sql_query(“SELECT * FROM Students”, conn)
print(df.head())
عملیات بهروزرسانی و حذف
یکی از سادهترین بخشهای آموزش SQLite در پایتون، تغییر یا حذف دادههاست.
- بهروزرسانی
cursor.execute(“UPDATE Students SET age = ? WHERE name = ?”, (24, “زهرا رضایی”))
- حذف رکورد
cursor.execute(“DELETE FROM Students WHERE age > 30”)
تراکنشها: محافظ اطلاعات در موقعیتهای حساس
فرض کنید میخواهید همزمان از یک حساب کم کنید و به حساب دیگری پول اضافه کنید. اینجا اگر بخشی از عملیات انجام شود و بخشی دیگر نه، پایگاهداده شما ناقص میماند. به همین دلیل باید از تراکنشها استفاده کنید.
try:
cursor.execute(“BEGIN TRANSACTION”)
cursor.execute(“UPDATE Accounts SET balance = balance – 100 WHERE id = 1”)
cursor.execute(“UPDATE Accounts SET balance = balance + 100 WHERE id = 2”)
conn.commit()
except Exception as e:
conn.rollback()
print(f”خطا: {e}”)
ایندکسگذاری برای بهبود سرعت
وقتی دادهها زیاد میشوند، جستجو در آنها کند میشود. یکی از روشهای بهینهسازی در SQLite در پایتون، استفاده از ایندکس است:
cursor.execute(“CREATE INDEX idx_age ON Students(age)”)
نتیجهاش چه میشود؟ زمانی که بدون ایندکس برای جستجوی ۱۰۰٬۰۰۰ رکورد صرف میشود، حدود ۴ ثانیه است. اما با ایندکس همین پرسوجو تنها ۱۵ میلیثانیه زمان میبرد!
ورود و خروج دادهها از فایل CSV
SQLite فقط برای ذخیره داده نیست، بلکه میتوانید دادهها را با دنیا به اشتراک بگذارید.
خروجی گرفتن:
cursor.execute(“SELECT * FROM Students”)
with open(‘students.csv’, ‘w’, encoding=’utf-8′) as f:
for row in cursor:
f.write(‘,’.join(map(str, row)) + ‘\n’)
وارد کردن اطلاعات از فایل CSV:
import csv
with open(‘data.csv’, ‘r’, encoding=’utf-8′) as f:
reader = csv.reader(f)
next(reader) # حذف هدر
cursor.executemany(“INSERT INTO Students (name, age) VALUES (?, ?)”, reader)
مدیریت خطاها: باگها را بشناسید و مهارشان کنید
هرچقدر هم که حرفهای باشید، باز هم ممکن است به ارور برخورد کنید. مهم این است که آن را درست مدیریت کنید:
try:
cursor.execute(“SELECT * FROM TableThatDoesNotExist”)
except sqlite3.OperationalError as e:
print(f”خطای عملیاتی: {e}”)
except sqlite3.IntegrityError as e:
print(f”خطای یکپارچگی: {e}”)
چند نکته طلایی برای استفاده بهتر از SQLite در پایتون
- همیشه از with برای اتصال استفاده کنید.
- برای درج گروهی رکورد، از executemany استفاده کنید.
- در پروژههای بزرگ، ستونهای جستجوشونده را ایندکس کنید.
- هر تغییر مهمی را در قالب تراکنش انجام دهید.
- ساختار دادهایتان را قبل از شروع پیادهسازی، طراحی کنید.

آموزش Sqlite در پایتون به صورت حرفهای با آکادمی چابک!
SQLite در پایتون جزو مفاهیم اصلی است که برنامهنویسانی که قصد دارند بهصورت جدی با دادهها کار کنند، باید به آن مسلط باشند؛ فرقی ندارد در حال ساخت یک اپلیکیشن ساده باشید یا سرویس تحت وب!
در آکادمی چابک، ما با تمرکز بر آموزش مفاهیم کاربردی برنامهنویسی، از پایه تا سطح پیشرفته همراهتان هستیم تا بتوانید مهارتهایی مثل پایگاهداده، کار با دادهها و طراحی نرمافزار را بهصورت پروژهمحور بیاموزید.
اگر میخواهید همین حالا قدم بعدی را در مسیر یادگیری حرفهایتان بردارید، همین حالا به دورههای آموزشی آکادمی چابک سر بزنید و برنامهنویسی را به زبان حرفهای و عملی یاد بگیرید.
سوالات متداول (FAQ)
آموزش اتصال به SQLite در پایتون چگونه انجام میشود؟
برای آموزش اتصال به SQLite در پایتون کافی است از ماژول داخلی sqlite3 استفاده کرده و با استفاده از متد connect به پایگاه داده مورد نظر متصل شوید. این کار بدون نیاز به نصب هیچ دیتابیس جداگانهای انجام میشود.
نحوه ساخت پایگاه داده SQLite در پایتون به چه صورت است؟
در نحوه ساخت پایگاه داده SQLite در پایتون، تنها با اجرای دستور sqlite3.connect یک فایل دیتابیس ایجاد میشود که میتوانید جداول و دادههای خود را در آن ذخیره کنید.
درج داده در SQLite با پایتون چگونه انجام میشود؟
برای درج داده در SQLite با پایتون باید از دستور INSERT INTO استفاده کرده و با متد execute یا executemany اطلاعات مورد نظر خود را به جدول اضافه کنید.
آموزش ارتباط با SQLite در پایتون چه مزیتی نسبت به سایر دیتابیسها دارد؟
آموزش ارتباط با SQLite در پایتون به دلیل عدم نیاز به نصب سرور، سادگی در راهاندازی و سرعت بالا، گزینهای مناسب برای شروع یادگیری کار با پایگاه داده محسوب میشود.
منبع:


دیدگاهتان را بنویسید