عاطفه رجبی
عاطفه رجبی
خواندن ۴ دقیقه·۲ سال پیش

آموزش کار با دیتابیس (پایگاه داده) در پایتون

سلام .

من این پست رو نوشتم تا بهتون یاد بدم چطوری سریعا با زبان پایتون به sqlite که یک پایگاه داده سبک هست وصل بشید. ?

آموزش اتصال پایگاه داده در زبان پایتون
آموزش اتصال پایگاه داده در زبان پایتون


خب قبل از شروع بهتره بدونیم اصلا sqlite چیه

یک پایگاه داده ی خیلی سادست ! sqlite نیاز به نصب برنامه ی خاصی نداره و جدول ها رو فقط توی یه فایل ذخیره میکنه مثل یه فایل text ️

یک دیتابیس متن باز برای SQL که بیشتر استفادش تو گوشی های اندرویدیه و اپ ها معمولا برای ذخیره سازی داده ها تو دستگاه گوشی از sqlite استفاده میکنن

خب با sqlite آشنا شدیم الان وقت اینه بریم سراغ ارتباط sqlite با زبان برنامه نویسی پایتون


چطوری پایتون رو به sqlite وصل کنیم ؟

خب خب بریم سراغ پایتون

اگه قبلا پایتون کار کرده باشید احتمالا میدونید که بیشتر کارای پایتون با ماژول های اون انجام میشه و اینجام یه ماژول کمکی به ما کمک میکنه که به sqlite وصل بشیم و اسمش هم sqlite هست

برای تمرین این اموزش یه فایل پایتونی درست کنید و اسمش رو بزارید sqlite.py و توش ماژول sqlite رو ایمپورت کنید

برای این کار دستور پایین رو دقیقا بالاترین نقطه ی فایل پایتونی بنویسید :‌

import sqlite3

خب این دستور باعث میشه که ماژول sqlite رو بتونیم استفاده کنیم.

حالا که ماژول لود شد یه اتصال به فایل پایگاه داده میسازیم. اگر فایل وجود نداشته باشه زبان پایتون بصورت اتوماتیک اونو میسازه

کد اتصال رو اینطوری بنویسید :

connection = sqlite3.connect('mydatabase.db')

خب اگه فایل mydatabase.db وجود نداشته باشه پایتون بصورت اتوماتیک اون رو برای ما میسازه

کانکشن رو با متود connect ساختیم و نتیجه رو توی یه متغیر به اسم connection میریزیم و بعدا قراره ازش استفاده کنیم.

آموزش کار با دیتابیس در پایتون
آموزش کار با دیتابیس در پایتون


آموزش عملیات CRUD روی دیتابیس با زبان پایتون

خب بعد اینکه به یک دیتابیس وصل شدیم الان وقت اینه که جدول های دیتابیس را بسازیم و عملیات خوندن ، نوشتن و آپدیت کردن روی داده های جدول انجام بدیم.

این کار خیلی راحت انجام میشه و برای انجام هر عملی روی دیتابیس باید از یک cursor استفاده کنیم.

برای اینکار ابتدا یه cursor میسازیم تا بعدا ازش استفاده کنیم البته cursor از connectio که بالا ساختیم استفاده میکنه

cr = connection.cursor()

تو کد بالا cr یک متغیره که cursor ریختیم توش.


ساخت جدول جدید در sqlite با زبان پایتون

خب بعد اینکه دیتابیس را ساختیم و اتصالات رو انجام دادیم حالا وقت استفاده از cursor برای ساخت یه جدول جدیده

برای این کار بهتره اولش زبان query نویسی رو یاد بگیریم و عملیات دیتابیس را با کوئری نویسی انجام بدیم.

برای ساخت جدول باید کدهای زیر رو بنویسید :

cr.execute( &quot&quot&quot CREATE TABLE users( first text, last text, pay integer ) &quot&quot&quot)

خب همونطور که میبینید ما از cr که یک cursor بود استفاده کردیم و متد execute رو صدا زدیم. این متد باعث میشه که کوئری نوشته شده روی دیتابیس اجرا بشه و در نهایت باید عملیات که انجام دادیم رو توی دیتابیس کامیت کنیم و بعد کانکشن را ببندیم. برای اینکار انتهای فایل دستورای زیرو بنویسید :‌

connection.commit() connection.close()


انجام عملیات INSERT در پایگاه داده با پایتون

برای insert کردن یک فیلد جدید در جدول دیتابیس کد کوئری پایین رو میتونید اجرا کنید البته این کوئری ها همشون باید بالای connection.commit() و connection.close() بنویسید:

cr.execute(&quotINSERT INTO users VALUES ('sara','alipour',1234) &quot)

خب کد بالا در صورت اجرا شدن به جدول ما یه فیلد جدید اضافه میکنه و مقادیر تعریف شده را وارد جدول میکنه اگه دوبار اجرا کنید یه بار دیگه اطلاعات بالا رو وارد جدول میکنه ...


انجام عمل SELECT کردن و نمایش اطلاعات جدول پایگاه داده در پایتون

خب ما تا اینجای کار یه جدول ساختیم و یه داده ی جدیدی هم توی جدول وارد کردیم ولی تا اینجا چیزی ازش ندیدیم و مطمئن نیستیم که ایا داده ها به درستی در جدول ثبت شده یا نه

خب نوبت اینه که الان select بنویسیم و محتویات جدول را فراخوانی کنیم و به نمایش بزاریم

برای این کار کد زیرو مینویسیم تا تمام اطلاعات جدول را لود بکنه :‌

cr.execute(&quotSELECT * FROM users &quot)

خب بعد اینکه دستور کوئری بالا رو اجرا کردیم هرچی که توی جدوله درون cursor ریخته میشه که اسمشو cr گذاشتیم. حالا میتونیم با متدهای کمکیش داده های داخلش رو فراخونی کنیم و با print پایتون به نمایش بزاریم مثل کد زیر :

print(cr.fetchall())

خب تا اینجا کار کدهایی که نوشتیم بصورت یه جا به شکل زیر باید باشه تا اتصال دیتابیس با پایتون برقرار کنیم ، یه جدول بسازیم ، یه فیلد جدید به جدول اضافه کنیم و در نهایت تمام موجودیت های جدول رو print کنیم:


import sqlite3 connection = sqlite3.connect('mydatabase.db') cr = connection.cursor() cr.execute( &quot&quot&quot CREATE TABLE users( first text, last text, pay integer ) &quot&quot&quot) cr.execute(&quotINSERT INTO users VALUES ('sara','alipour',1234) &quot) cr.execute(&quotSELECT * FROM users &quot) print(cr.fetchall()) connection.commit() connection.close()


به سادگی کدهای بالا دو عمل UPDATE و DELETE را هم میتونید بنویسید فقط باید موقع update کردن شرط WHERE فراموش نکنید.

من پایتون رو از دوره ی جامع پایتون استاد نیکزاد دیدم و خیلی عالی بود خیلیا پرسیدن یه دوره ی جامع و عالی پایتون به زبان فارسی معرفی کن و منم این دوره را مناسب میبینم.

پایتونpythonsqliteپایگاه دادهبرنامه نویسی
برنامه نویس و دانشجوی ارشد
شاید از این پست‌ها خوشتان بیاید