سلام .
من این پست رو نوشتم تا بهتون یاد بدم چطوری سریعا با زبان پایتون به sqlite که یک پایگاه داده سبک هست وصل بشید. ?
یک پایگاه داده ی خیلی سادست ! sqlite نیاز به نصب برنامه ی خاصی نداره و جدول ها رو فقط توی یه فایل ذخیره میکنه مثل یه فایل text ️
یک دیتابیس متن باز برای SQL که بیشتر استفادش تو گوشی های اندرویدیه و اپ ها معمولا برای ذخیره سازی داده ها تو دستگاه گوشی از sqlite استفاده میکنن
خب با sqlite آشنا شدیم الان وقت اینه بریم سراغ ارتباط sqlite با زبان برنامه نویسی پایتون
خب خب بریم سراغ پایتون
اگه قبلا پایتون کار کرده باشید احتمالا میدونید که بیشتر کارای پایتون با ماژول های اون انجام میشه و اینجام یه ماژول کمکی به ما کمک میکنه که به sqlite وصل بشیم و اسمش هم sqlite هست
برای تمرین این اموزش یه فایل پایتونی درست کنید و اسمش رو بزارید sqlite.py و توش ماژول sqlite رو ایمپورت کنید
برای این کار دستور پایین رو دقیقا بالاترین نقطه ی فایل پایتونی بنویسید :
import sqlite3
خب این دستور باعث میشه که ماژول sqlite رو بتونیم استفاده کنیم.
حالا که ماژول لود شد یه اتصال به فایل پایگاه داده میسازیم. اگر فایل وجود نداشته باشه زبان پایتون بصورت اتوماتیک اونو میسازه
کد اتصال رو اینطوری بنویسید :
connection = sqlite3.connect('mydatabase.db')
خب اگه فایل mydatabase.db وجود نداشته باشه پایتون بصورت اتوماتیک اون رو برای ما میسازه
کانکشن رو با متود connect ساختیم و نتیجه رو توی یه متغیر به اسم connection میریزیم و بعدا قراره ازش استفاده کنیم.
خب بعد اینکه به یک دیتابیس وصل شدیم الان وقت اینه که جدول های دیتابیس را بسازیم و عملیات خوندن ، نوشتن و آپدیت کردن روی داده های جدول انجام بدیم.
این کار خیلی راحت انجام میشه و برای انجام هر عملی روی دیتابیس باید از یک cursor استفاده کنیم.
برای اینکار ابتدا یه cursor میسازیم تا بعدا ازش استفاده کنیم البته cursor از connectio که بالا ساختیم استفاده میکنه
cr = connection.cursor()
تو کد بالا cr یک متغیره که cursor ریختیم توش.
خب بعد اینکه دیتابیس را ساختیم و اتصالات رو انجام دادیم حالا وقت استفاده از cursor برای ساخت یه جدول جدیده
برای این کار بهتره اولش زبان query نویسی رو یاد بگیریم و عملیات دیتابیس را با کوئری نویسی انجام بدیم.
برای ساخت جدول باید کدهای زیر رو بنویسید :
cr.execute( """ CREATE TABLE users( first text, last text, pay integer ) """)
خب همونطور که میبینید ما از cr که یک cursor بود استفاده کردیم و متد execute رو صدا زدیم. این متد باعث میشه که کوئری نوشته شده روی دیتابیس اجرا بشه و در نهایت باید عملیات که انجام دادیم رو توی دیتابیس کامیت کنیم و بعد کانکشن را ببندیم. برای اینکار انتهای فایل دستورای زیرو بنویسید :
connection.commit() connection.close()
برای insert کردن یک فیلد جدید در جدول دیتابیس کد کوئری پایین رو میتونید اجرا کنید البته این کوئری ها همشون باید بالای connection.commit() و connection.close() بنویسید:
cr.execute("INSERT INTO users VALUES ('sara','alipour',1234) ")
خب کد بالا در صورت اجرا شدن به جدول ما یه فیلد جدید اضافه میکنه و مقادیر تعریف شده را وارد جدول میکنه اگه دوبار اجرا کنید یه بار دیگه اطلاعات بالا رو وارد جدول میکنه ...
خب ما تا اینجای کار یه جدول ساختیم و یه داده ی جدیدی هم توی جدول وارد کردیم ولی تا اینجا چیزی ازش ندیدیم و مطمئن نیستیم که ایا داده ها به درستی در جدول ثبت شده یا نه
خب نوبت اینه که الان select بنویسیم و محتویات جدول را فراخوانی کنیم و به نمایش بزاریم
برای این کار کد زیرو مینویسیم تا تمام اطلاعات جدول را لود بکنه :
cr.execute("SELECT * FROM users ")
خب بعد اینکه دستور کوئری بالا رو اجرا کردیم هرچی که توی جدوله درون cursor ریخته میشه که اسمشو cr گذاشتیم. حالا میتونیم با متدهای کمکیش داده های داخلش رو فراخونی کنیم و با print پایتون به نمایش بزاریم مثل کد زیر :
print(cr.fetchall())
خب تا اینجا کار کدهایی که نوشتیم بصورت یه جا به شکل زیر باید باشه تا اتصال دیتابیس با پایتون برقرار کنیم ، یه جدول بسازیم ، یه فیلد جدید به جدول اضافه کنیم و در نهایت تمام موجودیت های جدول رو print کنیم:
import sqlite3 connection = sqlite3.connect('mydatabase.db') cr = connection.cursor() cr.execute( """ CREATE TABLE users( first text, last text, pay integer ) """) cr.execute("INSERT INTO users VALUES ('sara','alipour',1234) ") cr.execute("SELECT * FROM users ") print(cr.fetchall()) connection.commit() connection.close()
به سادگی کدهای بالا دو عمل UPDATE و DELETE را هم میتونید بنویسید فقط باید موقع update کردن شرط WHERE فراموش نکنید.
من پایتون رو از دوره ی جامع پایتون استاد نیکزاد دیدم و خیلی عالی بود خیلیا پرسیدن یه دوره ی جامع و عالی پایتون به زبان فارسی معرفی کن و منم این دوره را مناسب میبینم.