مقدمهای بر SQLITE و پایتون
SQLite یک سیستم مدیریت پایگاه داده سبک و خودکفا است که به دلیل سادگی و کاراییاش بسیار محبوب است. پایتون نیز با استفاده از ماژول `sqlite3` به راحتی میتواند با SQLite کار کند. در اینجا به بررسی نحوه استفاده از SQLite با پایتون خواهیم پرداخت.
نصب و راهاندازی
برای شروع، باید مطمئن شوید که پایتون و SQLite روی سیستم شما نصب شدهاند. به طور معمول، پایتون به همراه ماژول `sqlite3` نصب میشود. برای بررسی نصب SQLite، میتوانید از دستور زیر استفاده کنید:
```bash
sqlite3 --version
```
ایجاد و اتصال به پایگاه داده
برای ایجاد یک پایگاه داده جدید یا اتصال به یک پایگاه داده موجود، از تابع `connect()` استفاده میکنیم:
```python
import sqlite3
# اتصال به پایگاه داده یا ایجاد یک پایگاه داده جدید
connection = sqlite
- connect('my_database.db')
# ایجاد یک cursor
cursor = connection.cursor()
```
ایجاد جدول
برای ایجاد جدول، از دستور SQL `CREATE TABLE` استفاده میکنیم. به عنوان مثال، برای ایجاد جدولی به نام `users`:
```python
cursor.execute('''
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
```
درج دادهها
برای درج دادهها، از دستور SQL `INSERT INTO` استفاده میکنیم. به عنوان مثال:
```python
cursor.execute('''
INSERT INTO users (name, age) VALUES (?, ?)
''', ('Ali', 30))
connection.commit() # ذخیره تغییرات
```
خواندن دادهها
برای خواندن دادهها، از دستور SQL `SELECT` استفاده میکنیم:
```python
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
```
بروزرسانی و حذف دادهها
برای بروزرسانی دادهها، از دستور SQL `UPDATE` استفاده میکنیم. به عنوان مثال:
```python
cursor.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (31, 'Ali'))
connection.commit()
```
برای حذف دادهها، از دستور SQL `DELETE` استفاده میکنیم:
```python
cursor.execute('''
DELETE FROM users WHERE name = ?
''', ('Ali',))
connection.commit()
```
بستن اتصال
پس از اتمام کار، مهم است که اتصال به پایگاه داده را ببندید:
```python
connection.close()
```
نتیجهگیری
SQLite و پایتون یک ترکیب قدرتمند برای مدیریت پایگاههای داده هستند. با استفاده از ماژول `sqlite3`، میتوانید به راحتی دادهها را ذخیره، خوانده، بهروزرسانی و حذف کنید. این قابلیتها، SQLite را به یک انتخاب مناسب برای پروژههای کوچک و متوسط تبدیل کرده است. برای کسب اطلاعات بیشتر، میتوانید به مستندات رسمی SQLite و پایتون مراجعه کنید.
سورس کد دیتابیس SQLite با پایتون: راهنمای جامع و کامل
در این مقاله، قصد داریم تا به صورت کامل و جامع درباره نحوه کار با پایگاه داده SQLite در پایتون صحبت کنیم. SQLite یکی از محبوبترین سیستمهای مدیریت پایگاه دادههای سبک و قابل حمل است که در بسیاری از برنامهها و پروژهها مورد استفاده قرار میگیرد. پایتون نیز با کتابخانهی استاندارد خود، امکانات بینظیری برای کار با SQLite فراهم کرده است.
چیست SQLite و چرا با پایتون استفاده میشود؟
SQLite، یک سیستم مدیریت دیتابیس رابطهای است که دادهها را در فایلهای محلی نگهداری میکند. برخلاف دیتابیسهای بزرگ و سرور محور، SQLite به راحتی نصب و راهاندازی میشود، نیاز به سرور ندارد، و برای برنامههای کوچک و متوسط بسیار مناسب است. پایتون با کتابخانهی `sqlite3` به طور پیشفرض، امکاناتی قدرتمند برای مدیریت و عملیات بر روی این نوع دیتابیسها ارائه میدهد.
نحوه ساخت و اتصال به دیتابیس SQLite در پایتون
برای شروع، باید یک فایل دیتابیس ایجاد کنیم یا به آن متصل شویم. در پایتون، این کار با تابع `connect()` صورت میگیرد. در مثال زیر، یک فایل جدید با نام `example.db` ساخته میشود:
```python
import sqlite3
# اتصال به دیتابیس (در صورت عدم وجود، ساخته میشود)
connection = sqlite
- connect('example.db')
```
در این قطعه کد، ابتدا کتابخانهی `sqlite3` وارد میشود. سپس، با استفاده از تابع `connect()`, به دیتابیس وصل میشویم. اگر فایل `example.db` وجود نداشته باشد، خود پایتون آن را میسازد.
ایجاد جداول در دیتابیس
بعد از اتصال، نوبت به ساخت جداول میرسد. برای این کار از دستورات SQL استفاده میکنیم. فرض کنید میخواهیم یک جدول کاربران بسازیم:
```python
# ساخت جدول کاربران
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
email TEXT UNIQUE
)
''')
connection.commit()
```
در اینجا، با دستور `CREATE TABLE IF NOT EXISTS`، جدول `users` ساخته میشود، و اگر قبلاً وجود داشته باشد، از ساخت مجدد جلوگیری میشود. با `commit()` تغییرات ثبت میگردد.
وارد کردن دادهها به جدول
حالا، بیایید چند داده وارد کنیم:
```python
# افزودن داده به جدول
cursor.execute('''
INSERT INTO users (name, age, email) VALUES (?, ?, ?)
''', ('Ali', 25, 'ali@example.com'))
connection.commit()
```
در این قطعه، از علامتهای سوال (`?`) برای جلوگیری از حملات SQL injection و امنسازی کوئریها استفاده میشود. مقادیر موردنظر در قالب tuple قرار میگیرند.
خواندن دادهها از جدول
برای استخراج دادهها، نیاز است از دستور `SELECT` بهره ببریم:
```python
# خواندن دادهها
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
```
در این مثال، با `fetchall()` تمامی رکوردها گرفته میشود و در حلقه، هر رکورد به صورت یک tuple نمایش داده میشود.
بروزرسانی و حذف دادهها
برای بروزرسانی رکوردها:
```python
# بروزرسانی رکورد
cursor.execute('''
UPDATE users SET age = ? WHERE name = ?
''', (26, 'Ali'))
connection.commit()
```
و برای حذف رکورد:
```python
# حذف رکورد
cursor.execute('DELETE FROM users WHERE name = ?', ('Ali',))
connection.commit()
```
بستن اتصال
در پایان، همیشه باید اتصال به دیتابیس را ببندید:
```python
connection.close()
```
نکات مهم و بهترین شیوهها
- استفاده از `with` برای مدیریت اتصالات و جلوگیری از نشت منابع:
```python
import sqlite3
with sqlite
- connect('example.db') as conn:
# عملیاتهای دیتابیس
```
- جلوگیری از حملات SQL injection، همیشه از پارامترهای جایگزین (`?`) استفاده کنید.
- قبل از انجام عملیاتهای مهم، `commit()` را فراموش نکنید.
- خطاها را با استفاده از استثناها مدیریت کنید، مثلا:
```python
try:
# عملیات دیتابیس
except sqlite
- Error as e:
```
نتیجهگیری
در این مقاله، به صورت گامبهگام، نحوه ایجاد، خواندن، بروزرسانی، و حذف دادهها در دیتابیس SQLite با پایتون را بررسی کردیم. این روشها، پایهایترین و در عین حال قدرتمندترین ابزار برای مدیریت دیتابیسهای کوچک و متوسط هستند. با تمرین و توسعه بیشتر، میتوانید پروژههای پیچیدهتری با این فناوری بسازید و از قابلیتهای بینظیر آن بهرهمند شوید.