مقدمهای بر SQLite و Python
SQLite یک سیستم مدیریت پایگاه داده رابطهای است که به دلیل سادگی و کاراییاش، بهطور گستردهای در برنامههای کوچک و متوسط استفاده میشود. این پایگاه داده بهصورت فایلهای محلی عمل میکند و نیازی به نصب سرور ندارد. در اینجا، ما به بررسی نحوه استفاده از SQLite با Python میپردازیم.
نصب SQLite
برای شروع، اطمینان حاصل کنید که ماژول SQLite در Python شما نصب شده است. معمولاً این ماژول بهصورت پیشفرض در توزیعهای Python موجود است. برای بررسی نصب، میتوانید دستور زیر را در ترمینال اجرا کنید:
```bash
python -m sqlite3
```
اگر اروری دریافت نکردید، SQLite بهدرستی نصب شده است.
ایجاد و اتصال به پایگاه داده
برای کار با SQLite، ابتدا باید به پایگاه داده متصل شوید یا یک پایگاه داده جدید ایجاد کنید. در اینجا یک کد ساده برای انجام این کار آورده شده است:
```python
import sqlite3
# اتصال به پایگاه داده (ایجاد در صورت عدم وجود)
connection = sqlite
- connect('my_database.db')
# ایجاد یک Cursor برای انجام عملیات
cursor = connection.cursor()
```
ایجاد جدول
پس از اتصال به پایگاه داده، میتوانیم جدولهای مورد نیاز خود را ایجاد کنیم. بهعنوان مثال، جدول کاربران:
```python
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
)
''')
```
درج دادهها
حالا که جدول ایجاد شده، میتوانیم دادهها را در آن درج کنیم:
```python
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Ali", 25))
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Sara", 30))
# ذخیره تغییرات
connection.commit()
```
خواندن دادهها
برای خواندن دادهها، میتوانیم از دستور SELECT استفاده کنیم:
```python
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
```
بهروزرسانی و حذف دادهها
گاهی اوقات، نیاز به بهروزرسانی یا حذف دادهها داریم. به کدهای زیر توجه کنید:
بهروزرسانی دادهها
```python
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (26, "Ali"))
connection.commit()
```
حذف دادهها
```python
cursor.execute("DELETE FROM users WHERE name = ?", ("Sara",))
connection.commit()
```
بستن اتصال
در نهایت، پس از پایان کار، اتصال به پایگاه داده را ببندید:
```python
connection.close()
```
نتیجهگیری
SQLite با Python یک ترکیب قدرتمند برای مدیریت دادههاست. با استفاده از دستورات ساده، میتوان به راحتی پایگاههای دادهای ایجاد کرد، دادهها را مدیریت کرد و از آنها بهرهبرداری کرد. این ابزار برای پروژههای کوچک و متوسط بسیار مناسب است.
کد دیتابیس SQLite با پایتون: راهنمای کامل و جامع
در این مقاله، قصد داریم به طور کامل و جامع درباره نحوه کار با دیتابیس SQLite در پایتون صحبت کنیم. SQLite یکی از سبکترین و در عین حال، قدرتمندترین سیستمهای مدیریت دیتابیس است که به صورت فایلهای فیزیکی ذخیره میشود و بدون نیاز به سرور جداگانه کار میکند. این ویژگی، آن را برای پروژههای کوچک، آزمایشی و حتی برخی برنامههای تولیدی مناسب میسازد.
مقدمهای بر SQLite و پایتون
SQLite به عنوان یک دیتابیس رابطهای، با زبان SQL کار میکند و در قالب یک فایل واحد ذخیره میشود. پایتون نیز، از طریق ماژول استاندارد `sqlite3`، امکانات زیادی برای اتصال، اجرا و مدیریت دیتابیسهای SQLite دارد. این ماژول، به سادگی، عملیات CRUD (ایجاد، خواندن، بهروزرسانی و حذف) را انجام میدهد.
راهاندازی و اتصال به دیتابیس
برای شروع، اولین قدم، وارد کردن ماژول `sqlite3` است:
```python
import sqlite3
```
سپس، باید به یک فایل دیتابیس متصل شویم، یا اگر وجود نداشت، ساخته میشود:
```python
connection = sqlite
- connect('mydatabase.db')
```
در اینجا، `connection` شیء اتصال است و `cursor` ابزاری است برای اجرای دستورات SQL.
ساخت جداول
یک گام اصلی، ساخت جدول است. مثلا، فرض کنید میخواهیم جدول کارمندان را بسازیم:
```python
cursor.execute('''
CREATE TABLE IF NOT EXISTS employees (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
department TEXT
)
''')
connection.commit()
```
در اینجا، از `IF NOT EXISTS` برای جلوگیری از خطا هنگام اجرای مجدد استفاده شده است.
درج دادهها
برای افزودن رکوردهای جدید، از دستور INSERT استفاده میکنیم:
```python
cursor.execute('''
INSERT INTO employees (name, age, department)
VALUES (?, ?, ?)
''', ('Ali', 30, 'IT'))
connection.commit()
```
در این نمونه، از پارامترهای جایگذاری شده `?` بهره بردیم که هم امنیت را افزایش میدهد و هم خوانایی کد را بهتر میکند.
خواندن دادهها
برای خواندن دادهها، از SELECT استفاده میکنیم:
```python
cursor.execute('SELECT * FROM employees')
rows = cursor.fetchall()
for row in rows:
print(row)
```
این کد، تمام رکوردهای جدول را میگیرد و هر رکورد را چاپ میکند.
بهروزرسانی دادهها
برای تغییر دادهها، دستور UPDATE را به کار میبریم:
```python
cursor.execute('''
UPDATE employees SET age = ? WHERE name = ?
''', (31, 'Ali'))
connection.commit()
```
در اینجا، سن علی را به ۳۱ تغییر میدهیم.
حذف دادهها
حذف رکوردها با دستور DELETE انجام میشود:
```python
cursor.execute('''
DELETE FROM employees WHERE name = ?
''', ('Ali',))
connection.commit()
```
این عملیات، رکورد علی را حذف میکند.
بستن اتصال
در پایان، حتما باید اتصال به دیتابیس بسته شود:
```python
connection.close()
```
نکات مهم در کار با SQLite و پایتون
- استفاده از تراکنشها: هر عملیات نوشته شده، باید با `commit()` ثبت شود.
- مدیریت خطا: بهتر است عملیات دیتابیس در قالب بلوکهای try-except قرار گیرد.
- امنیت: استفاده از پارامترهای جایگذاری شده، از SQL Injection جلوگیری میکند.
- پیشنهاد: برای عملیاتهای پیچیدهتر، میتوانید از ORMهایی مانند SQLAlchemy بهره ببرید.
جمعبندی
در این راهنما، به صورت گام به گام، با نحوه کار با دیتابیس SQLite در پایتون آشنا شدیم. از ایجاد اتصال، ساخت جدول، درج، خواندن، بهروزرسانی، حذف و در نهایت بستن اتصال صحبت کردیم. این موارد، پایههای کار با دیتابیسهای سبک در پایتون هستند و میتوانید بر اساس نیاز، پروژههای خود را توسعه دهید.
اگر نیاز دارید، میتوانم نمونههای بیشتری، مثالهای عملی یا توضیحات عمیقتر درباره موضوعات خاص ارائه دهم.