وقتی با 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 بسته ایم. بستن یک اتصال اختیاری است اما در صورت باز نگه داشتن فایل دیگر عملیات های مبتنی بر این دیتابیس توسط افراد و کد ای دیگر اعمال نخواهند شد.