Create Memory Database

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/05
  • تعداد بازدید: 252

وقتی با SQLite ارتباط برقرار می کنید ، اگر قبلاً وجود نداشته باشد ، یک پایگاه داده به طور خودکار ایجاد می شود. این پرونده پایگاه داده روی دیسک ایجاد می شود ، ما همچنین می توانیم با استفاده از یک بانک اطلاعاتی در RAM ایجاد کنیم

:memory:

به این مدل عملکرد اتصال ،دیتابیس بانک اطلاعاتی حافظه گفته می شود.

کد زیر را در نظر بگیرید که ما با استفاده از آن یک بانک اطلاعاتی ایجاد کرده ایم ، به جز و در آخر بلوک های لازم برای رسیدگی به هرگونه استثناء:

# functional

import sqlite3
from sqlite3 import Error

def sql_connection():
    try:
        con = sqlite3.connect(':memory:')
        print("Connection is established: Database is created in memory")
    except Error:
        print(Error)
    finally:
        con.close()

sql_connection()

و نمونه ای از کد به حالت شئ گرا

# OOP

import sqlite3
from sqlite3 import Error


class db_mgmt:
    def __init__(self,path):
        try:
            self.con = sqlite3.connect(path)
            self.cur = self.con.cursor()
        except:
            print(Error)
    
    def close(self):
        self.con.close()

if __name__ == "__main__":
    db = db_mgmt(":memory:")
    db.close()

ابتدا ماژول sqlite3 وارد می شود ، سپس تابعی با نام sql_connection تعریف می شود. در داخل تابع ، یک بلوک try داریم که عملکرد connect() پس از برقراری اتصال ، یک شی اتصال را برمی گرداند.

سپس ما except بلوک داریم که در صورت وجود هر گونه استثنا ، پیام خطا را چاپ می کند. در صورت بروز خطا ، اتصال برقرار می شود و پیامی به شرح تابع فراخوانی شده نمایش داده می شود.

پس از آن ، ما اتصال خود را در بلوک finally بسته ایم. بستن یک اتصال اختیاری است اما در صورت باز نگه داشتن فایل دیگر عملیات های مبتنی بر این دیتابیس توسط افراد و کد ای دیگر اعمال نخواهند شد.