پایگاه های داده یک جزء حیاتی در توسعه نرمافزار هستند. از این گذشته، ما باید داده ها را در مکانی جمعآوری کنیم که بتوانیم به صورت دیجیتالی به آن ها برای خواندن، نوشتن، به روز رسانی و حذف دسترسی داشته باشیم.
در این آموزش، نحوه استفاده از SQLite با پایتون را خواهید آموخت. یادگیری SQLite یک راه عالی برای یادگیری نحوه عملکرد پایگاه های داده و نحوه انجام عملیات های اولیه CRUD (ایجاد، خواندن، به روز رسانی، حذف) است.
بسیاری از موقعیتهای توسعهدهنده نرمافزار شامل کار با پایگاههای داده است، و اگر زمانی به ایجاد یک برنامه کاربردی در مقیاس کامل (مانند یک برنامه رسانههای اجتماعی یا یک بازی آنلاین) فکر میکنید، قطعاً به یک پایگاه داده نیز نیاز خواهید داشت.
این آموزش بسیاری از مفاهیم اولیه و عملیات ساده را توضیح می دهد تا بتوانید نحوه کار با پایگاه های داده را بهتر درک کنید.
این SQLite یک کتابخانه موتور پایگاه داده SQL (زبان جستجوی ساختاریافته) است که با بسیاری از زبان ها کار می کند.
طبق وب سایت رسمی ، متن SQL در بایت کد کامپایل می شود که سپس توسط یک ماشین مجازی اجرا می شود. بنابراین، بسیار سریع است و می تواند به طور مؤثر پرس و جوهای پیچیده را مدیریت کند.
یک پایگاه داده SQLite به عنوان یک فایل دیسک، مشابه فایل CSV (مقادیر جدا شده با کاما) ذخیره می شود. اما SQLite مزایای زیادی نسبت به استفاده از فایل CSV دارد:
در اینجا مثالی از استفاده از SQLite با پایتون آورده شده است. من از IDE آنلاین Replit استفاده می کنم ، اما شما می توانید هر IDE را که دوست دارید دنبال کنید.
ابتدا یک پروژه پایتون با یک فایل ایجاد می کنم main.py
. من از کتابخانه SQL CS50 استفاده خواهم کرد که می توانید با اجرای آن نصب کنید pip3 install cs50
.
اولین مرحله ایجاد یک فایل database.db در پوشه ریشه است که می توانید با وارد کردن دستور زیر در ترمینال این کار را انجام دهید:
touch database.db
در این مرحله، کد زیر باید به main.py اضافه شود:
from cs50 import SQL db = SQL("sqlite:///database.db")
مرحله بعدی ایجاد جدول در پایگاه داده است. SQL داده ها را در جداول ذخیره می کند که شبیه جداول موجود در Excel یا Google Sheets هستند. کد این است:
db.execute("CREATE TABLE IF NOT EXISTS users (name TEXT, age NUMBER, fav_food STRING)")
برای تفکیک این، db پایگاه داده ای است که داده ها در آن نوشته می شوند. بعد، یک دستور اجرا می شود. اگر جدول users
وجود ندارد، جدولی با نام کاربران، با نام ستون ها name
، age
و fav_food
با انواع داده ها برای هر مقدار مشخص شده ایجاد کنید.
برای افزودن کاربر می توانید از عملیات INSERT استفاده کنید.
db.execute("INSERT INTO users (name, age, fav_food) VALUES(?, ?, ?)", "eesa", 14, "pizza")
مقدار "eesa" در ستون نام، مقدار 14 در ستون سن و مقدار "پیتزا" در ستون fav_food درج می شود.
کد اضافه کردن کاربر دیگر (در این مورد، باب)، این خواهد بود:
db.execute("INSERT INTO users (name, age, fav_food) VALUES(?, ?, ?)", "bob", 20, "burgers")
پس از این، میتوانیم سعی کنیم همه کاربران را از پایگاه داده بخوانیم. با اجرای کد زیر می توانید این کار را انجام دهید.
people = db.execute("SELECT * FROM users") print(people) # [{'name': 'eesa', 'age': 14, 'fav_food': 'pizza'}]
کد بالا نسبتاً ساده است. * در عبارت SELECT هر آنچه در پایگاه داده است را انتخاب می کند.
فقط برای انتخاب مقادیر خاص، می توانید از عبارت DISTINCT استفاده کنید. مثلاً بگویید شما فقط غذای مورد علاقه هر کاربر را می خواهید. با اجرای کد زیر می توانید این کار را انجام دهید:
people = db.execute("SELECT DISTINCT fav_food FROM users") print(people)
همچنین می توانید مقادیر را با استفاده از کاما در یک عبارت SELECT DISTINCT جدا کنید:
people = db.execute("SELECT DISTINCT age, fav_food FROM users") print(people)
اگر بخواهیم فقط داده های باب را بخوانیم، و بقیه را نادیده بگیریم، چه؟ می توانید این کار را با استفاده از بند SQL WHERE انجام دهید:
people = db.execute("SELECT * FROM users WHERE name='bob'") print(people)
برای پرس و جوهای پیچیدهتر چطور؟ می توانید این کار را با استفاده از نحو AND، OR و NOT انجام دهید. برای پرس و جوهای پیچیدهتر می توانید بند های WHERE را با این کلمات کلیدی جدا کنید.
people = db.execute("SELECT * FROM users WHERE name='bob' AND age=20") print(people)
این داده ها را برای باب چاپ می کند، زیرا باب 20 است.
برای به روز رسانی یک ردیف، می توانید از عبارت UPDATE مانند این استفاده کنید:
db.execute("UPDATE users SET fav_food='shawarma' WHERE name='eesa'")
برای حذف یک ردیف، از DELETE Syntax استفاده کنید (همانطور که ممکن است حدس بزنید). به نظر می رسد این است:
db.execute("DELETE FROM users WHERE name='bob'") # goodbye bob people = db.execute("SELECT * FROM users") print(people) # [{'name': 'eesa', 'age': 14, 'fav_food': 'shawarma'}]
برای حذف تمام سطرهای جدول، فقط عبارت WHERE را حذف کنید:
db.execute("DELETE FROM users") # :( people = db.execute("SELECT * FROM users") print(people) # []
ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.
وبسایت : mahdimashayekhi.ir
گیت هاب: MahdiMashayekhi-AI
لینکدین: MahdiMashayekhi
توییتر: Mashayekhi_AI
یوتیوب: MahdiMashayekhi
اینستاگرام: MahdiMashayekhi.ai