پارت 1: آموزش SQL با پایتون (پایه)
👨💻 SQL یا Structured Query Language زبان استانداردی برای کار با پایگاههای داده است که به ما اجازه میدهد دادهها را ایجاد، خواندن، بروزرسانی و حذف کنیم (CRUD operations). در این پارت، میخواهیم SQL را در پایتون به کمک کتابخانه
1️⃣ شروع کار با
برای شروع، باید ابتدا کتابخانه
بعد از وارد کردن کتابخانه، برای اتصال به یک پایگاه داده، از تابع
در کد بالا:
-
- اگر فایل پایگاه داده با این نام وجود نداشته باشد، به صورت خودکار ایجاد خواهد شد.
-
2️⃣ ایجاد یک جدول جدید
برای ایجاد یک جدول در پایگاه داده، از دستور SQL
در این کد:
-
-
3️⃣ وارد کردن دادهها در جدول
حالا که جدول خود را ایجاد کردهایم، میتوانیم دادهها را به آن وارد کنیم. از دستور SQL
در این کد:
-
- مقادیر به صورت یکتایپ در لیست وارد میشوند.
4️⃣ خواندن دادهها از جدول
برای خواندن دادهها از جدول، از دستور SQL
در این کد:
-
-
5️⃣ بستن اتصال
پس از انجام تمام عملیات، بهتر است که اتصال به پایگاه داده را ببندیم:
📚 خلاصه پارت 1:
- یاد گرفتیم که چطور به پایگاه داده متصل شویم.
- نحوه ایجاد یک جدول و وارد کردن دادهها را بررسی کردیم.
- چطور دادهها را از پایگاه داده بخوانیم.
- در نهایت اتصال به پایگاه داده را بستیم.
🔜 در پارت بعدی، به بررسی دستورات پیشرفتهتر SQL و نحوه بروزرسانی و حذف دادهها خواهیم پرداخت.
#SQL #Python #SQLite #Database
👨💻 SQL یا Structured Query Language زبان استانداردی برای کار با پایگاههای داده است که به ما اجازه میدهد دادهها را ایجاد، خواندن، بروزرسانی و حذف کنیم (CRUD operations). در این پارت، میخواهیم SQL را در پایتون به کمک کتابخانه
sqlite3
یاد بگیریم. این کتابخانه برای کار با پایگاه دادههای SQLite در پایتون بسیار مفید است و در اکثر سیستمها به صورت پیشفرض نصب شده است. 1️⃣ شروع کار با
sqlite3
برای شروع، باید ابتدا کتابخانه
sqlite3
را وارد کنیم:import sqlite3
بعد از وارد کردن کتابخانه، برای اتصال به یک پایگاه داده، از تابع
connect()
استفاده میکنیم:# اتصال به پایگاه داده (اگر فایل پایگاه داده وجود نداشته باشد، ساخته میشود)
conn = sqlite3.connect('example.db')
# ایجاد یک cursor برای اجرای دستورات SQL
cursor = conn.cursor()
در کد بالا:
-
example.db
نام فایل پایگاه داده است.- اگر فایل پایگاه داده با این نام وجود نداشته باشد، به صورت خودکار ایجاد خواهد شد.
-
cursor
یک شی است که میتوان از آن برای اجرای دستورات SQL استفاده کرد.2️⃣ ایجاد یک جدول جدید
برای ایجاد یک جدول در پایگاه داده، از دستور SQL
CREATE TABLE
استفاده میکنیم. فرض کنید میخواهیم یک جدول برای ذخیره اطلاعات کاربر مانند نام، سن و ایمیل ایجاد کنیم:# ایجاد یک جدول جدید
cursor.execute('''CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER,
email TEXT)''')
# ذخیره تغییرات در پایگاه داده
conn.commit()
در این کد:
-
IF NOT EXISTS
به این معناست که اگر جدول قبلاً ایجاد شده باشد، دوباره ایجاد نمیشود.-
id
یک ستون است که به عنوان کلید اصلی (Primary Key) برای هر رکورد استفاده میشود و به طور خودکار افزایش مییابد (AUTOINCREMENT
).3️⃣ وارد کردن دادهها در جدول
حالا که جدول خود را ایجاد کردهایم، میتوانیم دادهها را به آن وارد کنیم. از دستور SQL
INSERT INTO
استفاده میکنیم:# وارد کردن دادهها در جدول
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", ('Ali', 25, '[email protected]'))
# ذخیره تغییرات
conn.commit()
در این کد:
-
?
ها به عنوان جایگزین برای مقادیر استفاده میشوند و از تزریق SQL جلوگیری میکنند.- مقادیر به صورت یکتایپ در لیست وارد میشوند.
4️⃣ خواندن دادهها از جدول
برای خواندن دادهها از جدول، از دستور SQL
SELECT
استفاده میکنیم:# خواندن دادهها از جدول
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
# نمایش دادهها
for row in rows:
print(row)
در این کد:
-
SELECT * FROM users
تمام دادههای جدول users
را انتخاب میکند.-
fetchall()
تمام نتایج را به صورت یک لیست از تاپلها برمیگرداند.5️⃣ بستن اتصال
پس از انجام تمام عملیات، بهتر است که اتصال به پایگاه داده را ببندیم:
# بستن اتصال به پایگاه داده
conn.close()
📚 خلاصه پارت 1:
- یاد گرفتیم که چطور به پایگاه داده متصل شویم.
- نحوه ایجاد یک جدول و وارد کردن دادهها را بررسی کردیم.
- چطور دادهها را از پایگاه داده بخوانیم.
- در نهایت اتصال به پایگاه داده را بستیم.
🔜 در پارت بعدی، به بررسی دستورات پیشرفتهتر SQL و نحوه بروزرسانی و حذف دادهها خواهیم پرداخت.
#SQL #Python #SQLite #Database
👍2
پارت 2: آموزش SQL با پایتون (بروزرسانی و حذف دادهها)
👨💻 در پارت اول با نحوه ایجاد جدول، وارد کردن دادهها و خواندن دادهها از پایگاه داده آشنا شدیم. حالا در این پارت به بررسی دستورات بروزرسانی و حذف دادهها در پایگاه داده خواهیم پرداخت.
1️⃣ بروزرسانی دادهها (UPDATE)
اگر بخواهیم دادهای را که قبلاً وارد کردهایم، تغییر دهیم، از دستور **
در این کد:
-
-
- مانند قبل، برای جلوگیری از تزریق SQL از
2️⃣ حذف دادهها (DELETE)
برای حذف دادهها از پایگاه داده، از دستور **
در این کد:
-
-
⚠️ توجه داشته باشید که دستور
3️⃣ حذف تمام دادهها از جدول (Truncate)
اگر بخواهیم تمام دادهها را از یک جدول حذف کنیم، میتوانیم اDELETE
یا برای حذف ساختار جدول و دادهها:
در اینجا:
-
-
4️⃣ جستجوی دادهها با شرطهای مختلف
برای جستجوی دادهها به صورت خاصتر، میتوانیم اSELECT
در این کد:
-
- برای مرتبسازی صعودی از
5️⃣ بستن اتصال
در نهایت، پس از انجام عملیاتهای مورد نظر، باید اتصال به پایگاه داده را ببندیم:
📚 **خلاصه پارت 2**:
- در این پارت یاد گرفتیم که چگونه UPDATE با دستور **
- نحوه حذف DELETE با دستور **
- برای حذف تمام دادهها یا DELETEز دDROP*
- یاد گرفتیم که چگونه دادهها را جستجو کرده و مرتب کنیم.
🔜 در صورتی که بخواهید در مورد SQL بیشتر یاد بگیرید، میتوانید به مستندات رسمی SQL یا آموزشهای پیشرفتهتر مراجعه کنید.
#SQL #Python #SQLite #Database
👨💻 در پارت اول با نحوه ایجاد جدول، وارد کردن دادهها و خواندن دادهها از پایگاه داده آشنا شدیم. حالا در این پارت به بررسی دستورات بروزرسانی و حذف دادهها در پایگاه داده خواهیم پرداخت.
1️⃣ بروزرسانی دادهها (UPDATE)
اگر بخواهیم دادهای را که قبلاً وارد کردهایم، تغییر دهیم، از دستور **
UPDATE
** استفاده میکنیم. مثلاً فرض کنید میخواهیم سن کاربری که نامش "Ali" است را تغییر دهیم.# بروزرسانی دادهها
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (30, 'Ali'))
# ذخیره تغییرات
conn.commit()
در این کد:
-
SET age = ?
به این معناست که مقدار سن تغییر میکند.-
WHERE name = ?
مشخص میکند که فقط رکوردهایی که نام آنها "Ali" است تغییر خواهند کرد.- مانند قبل، برای جلوگیری از تزریق SQL از
?
استفاده کردهایم و مقادیر را به صورت پارامتر میفرستیم.2️⃣ حذف دادهها (DELETE)
برای حذف دادهها از پایگاه داده، از دستور **
DELETE
** استفاده میکنیم. فرض کنید میخواهیم رکورد کاربری که نامش "Ali" است را حذف کنیم.# حذف دادهها
cursor.execute("DELETE FROM users WHERE name = ?", ('Ali',))
# ذخیره تغییرات
conn.commit()
در این کد:
-
DELETE FROM users
تمام دادهها را از جدول users
حذف میکند.-
WHERE name = ?
به این معناست که فقط رکوردهایی که نام آنها "Ali" است حذف میشوند.⚠️ توجه داشته باشید که دستور
DELETE
بدون استفاده از WHERE
، تمام رکوردها را حذف میکند. پس باید حتماً دقت کنید که از WHERE
به درستی استفاده کنید تا فقط رکوردهای مورد نظر حذف شوند.3️⃣ حذف تمام دادهها از جدول (Truncate)
اگر بخواهیم تمام دادهها را از یک جدول حذف کنیم، میتوانیم اDELETE
DELETE
** استفاده کنیم بدون اینکه شرطی بگذاریم یا اDROP**DROP
** برای حذف جدول استفاده کنیم.# حذف تمام دادهها از جدول
cursor.execute("DELETE FROM users")
# ذخیره تغییرات
conn.commit()
یا برای حذف ساختار جدول و دادهها:
# حذف جدول از پایگاه داده
cursor.execute("DROP TABLE IF EXISTS users")
# ذخیره تغییرات
conn.commit()
در اینجا:
-
DELETE FROM users
تمام دادهها را از جدول حذف میکند، اما ساختار جدول باقی میماند.-
DROP TABLE IF EXISTS users
جدول users
را به طور کامل حذف میکند، حتی اگر دادهها داخل آن باشند.4️⃣ جستجوی دادهها با شرطهای مختلف
برای جستجوی دادهها به صورت خاصتر، میتوانیم اSELECT
SELECT
** با شرطهای مختلWHERE*WHERE
**، **LIKE
**، و **ORDER BY
** استفاده کنیم. به عنوان مثال، فرض کنید میخواهیم کاربران را بر اساس سن مرتب کنیم:# جستجو و مرتبسازی دادهها
cursor.execute("SELECT * FROM users ORDER BY age DESC")
rows = cursor.fetchall()
# نمایش دادهها
for row in rows:
print(row)
در این کد:
-
ORDER BY age DESC
دادهها را بر اساس سن به صورت نزولی مرتب میکند.- برای مرتبسازی صعودی از
ASC
استفاده میشود که به طور پیشفرض است.5️⃣ بستن اتصال
در نهایت، پس از انجام عملیاتهای مورد نظر، باید اتصال به پایگاه داده را ببندیم:
# بستن اتصال به پایگاه داده
conn.close()
📚 **خلاصه پارت 2**:
- در این پارت یاد گرفتیم که چگونه UPDATE با دستور **
UPDATE
** بروزرسانی کنیم.- نحوه حذف DELETE با دستور **
DELETE
** بررسی کردیم.- برای حذف تمام دادهها یا DELETEز دDROP*
DELETE
** و **DROP
** استفاده کردیم.- یاد گرفتیم که چگونه دادهها را جستجو کرده و مرتب کنیم.
🔜 در صورتی که بخواهید در مورد SQL بیشتر یاد بگیرید، میتوانید به مستندات رسمی SQL یا آموزشهای پیشرفتهتر مراجعه کنید.
#SQL #Python #SQLite #Database
👍3