پایتون و SQL

امروز توی یه سایتی بودم دیدم یه قسمت درباره اسکریپت های sql می گفت. منم تصمیم گرفتم در این نوشته بیام درباره دستورات SQL توی محیط پایتون صحبت کنم.راستش اولش می خواستم از SQL Server استفاده کنم اما نرم افزارش تو سیستمم به مشکل خورد.در نتیجه از Sqlite که دیتابیسی کاملا سبکی هست استفاده کردم.این دیتابیس برای کار های سبک خوبه.برای کار های سنگین تر و تجاری تر از دیتابیس های دیگه استفاده می شه. مثل پستگرس.خب بریم روی هدفمون کار کنیم :پکیج مدیریت دیتابیس اس کیو لایت رو در برنامه وارد می کنیم :import sqlite3تمامی اطلاعات مورد نیاز درباره نسخه پکیج دیتابیس براساس کد های زیر هست :Connecting to the Databaseچگونه به پایگاه داده متصل شویم؟چون این دیتابیس واسه یادگیری هست، اومدم با استفاده از آرگومانی که به connect دادم، گفتم یه دیتابیس موقت توی رم بساز که کارمونو باهاش راه بندازیم.db = sqlite3.connect(':memory:')یه چیزی رو هم همین الان می گم :هر موقع کارمون با دیتابیس تموم شد، باید کانکشنی که به اون دیتابیس وصل کردیم رو قطع کنیم.db.close()برای اینکه بتونیم با دیتابیس توی محیط پایتون کار کنیم، باید کد زیر رو یکبار بنویسیم و اجرا کنیم و در حقیقت همه ی کارامونو با همین متغییری که در زیر تعریف کردم انجام بدیم.CREATE TABLEحالا چجوری می تونیم جداولمونو بسازیم؟جدولی با نام کتاب ها درست می کنیم و فیلد هاش رو هم تعریف می کنیم.به این صورته که : بعد از اینکه اسم جدول رو نوشتیم، داخل پرانتز شروع می کنیم به تعریف فیلد هایی که مد نظرمونه.فیلد هایی که تعریف شده به ترتیب شامل : شناسه ی جدول هست که به عنوان کلید اصلی جدول معرفی شده، عنوان کتاب، نویسنده کتاب، قیمت کتاب و سال کتاب هست.حالا به دیتابیس می گیم که جدول رو ثبت کنه.db.commit()DROP TABLEچجوری جدولی که ساختم رو پاک کنم؟INSERTچجوری اطلاعات رو به جداولم وارد کنم؟من یکسری متغییر دارم و می خوام این متغییر ها رو داخل دیتابیس ثبت کنم.بذارید یه رکورد دیگه هم اضافه کنم.همونطور که می دونید روش بالا کمی زمان بر هست برای همینم اگه می خواید کمی سریع تر اتفاق بیوفته می تونید اطلاعات رو به صورت یک دیکشنری وارد کنید و از روش زیر استفاده کنید:یه مدل دیگه :retrieveچجوری می می تونم اینایی که به دیتابیس وارد کردم رو ببینیم؟برای اینکار باید به اصطلاح کوئری بنویسیم. توی کوئری زیر گفتم که * یا همه ستون ها رو برام بیار وهر چی اطلاعاتی که داری برام رو کن.همونطور که می بینید اگه همین طوری کوئری رو اجرا کنیم، فقط یه آبجکت بهمون می ده.اگه توی محیط منیجر دیتابیس هستید و همین کوئری رو بنویسید و بعدش اف 5 رو بزنید بلافاصله نتیجه رو براتون میاره.اما اگه مثل من توی محیط ژوپیتر هستید، می تونید برای نشون دادن نتیجه کوئری از پکیج پاندا استفاده کنید.حالا چجوری میتونم بگم مثلا فقط ستون نویسنده و قیمت کتاب و عنوان رو بهم بده؟نکته : اگه بخواین همین کد ها رو در محیط پایتون خام بنویسید، برای اجرا کردنشون از دو تابع می تونید کمک بگیرید.اولی برای گرفتن یک ردیف هست.در این روش ، برای دستیابی به هر کدام از اطلاعات، می تونید از روش زیر استفاده کنید:برای گرفتن همه اطلاعات توی پایتون می تونید از تابع زیر استفاده کنید.در ادامه یه مثالی هم برای این می زنم که نشون می ده چجوری میشه به جز جز این اطلاعات دسترسی داشته باشیم...Whereحالا اگه بخوایم بگیم کتابی که شناسه اش 3هست رو بده بهم چی کار باید کرد؟UPDATEچجوری میتونم ردیفی رو آپدیت کنم؟چون توی محیط ژوپیتر هستم می تونستم با استفاده از پاندا هم نشون بدم :DELETEچجوری میتونم ردیفی رو حذف کنم؟چون توی محیط ژوپیتر هستم می تونستم با استفاده از پاندا هم نشون بدم.خب به پایان این بخش رسیدیم. در این نوشته سعی کردم مباحثی که هر برنامه نویسی باید بدونه بنویسم.اگه وقت شد در آینده درباره مهارت های کوئری نویسی هم نوشته ای رو منتشر خواهم کرد.امیدوارم این نوشته براتون مفید بوده باشه.از همراهیتون صمیمانه ممنونم ...