How to connect to SQLite database that resides in the memory using Python ?

12 Oct, 2021
In this article, we will learn how to Connect an SQLite database connection to a database that resides in the memory using Python. But first let brief about what is sqlite.
SQLite is a lightweight database software library that provides a relational database management system. Generally, it is a server-less database that can be used within almost all programming languages including Python. A server-less database means that it has not required a separate server process to operate.
The following diagram showing the SQLite server-less architecture:
Image 1.1 (SQLite server-less architecture)
Step 1: Importing SQLite module
To Connect an SQLite database connection to a database that resides in the memory using Python firstly we will import SQLite in our programming so that we can use its libraries in our program.
Syntax to import SQLite in the program:
import sqlite3
Step 2: Creating a connection
In this step, we will create a connection object which will connect us to the database and will let us execute the SQL statements. To create a connection object we will use connect() function which can create a connection object. connect() function is available in SQLite library.
Syntax:
conn = sqlite3.connect('gfgdatabase.db')   
It will create a database with the name ‘gfgdatabase.db’ and connection will be created and a connection object also will be created with the name ‘conn’. Below is the .db file formed:
image 1.2 ( gfgdatabase in memory )
Step 3: Creating a database in memory
We can create a database in memory by using the following syntax.
conn = sqlite3.connect(':memory:') 
It creates a database in RAM with the name ‘gfgdatabase.db’. 
Step 4: Creating a cursor
In the program To execute SQLite statements, we have to need a cursor object. To create a cursor we will use the cursor() method. The cursor is a method of the connection object. To execute the SQLite3 statements, we should establish a connection at first and then create an object of the cursor using the connection object.
Syntax:
cursor_object = connection.cursor()
Step 5: Importing Error from SQLite
In case of any exceptions or run time errors occurred in database creation and connecting to memory then it should be handled. To handle that we will import Error from SQLite.
Syntax:
from sqlite3 import Error
Step 6: Finally close the connections
Once we have created a connection with SQLite in step 2 and then created a database in RAM having the name “gfgdatabase.db” in step3 apart from that till step5 we have done all the procedures to Connect an SQLite database connection to a database that resides in the memory. In this step finally, we will close the connections. To do that we will use the close() function.
Syntax:
conn.close()
Below is the complete program based on the above approach:
Python3
# import required modulesimport sqlite3from sqlite3 import Error as Err # explicit function to connect  database# that resides in the memorydef SQLite_connection():     try:        # connect to the database        conn = sqlite3.connect('gfgdatabase.db')        print("Database connection is established successfully!")                 # connect a database connection to the        # database that resides in the memory        conn = sqlite3.connect(':memory:')        print("Established database connection to a database\        that resides in the memory!")     # if any interruption or error occurs    except Err: print(Err)     # terminate the connection       finally: conn.close()         # function call       SQLite_connection()
Output:  
 
akshaysingh98088
ruhelaa48
sweetyty
Picked
Python-SQLite
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Iterate over a list in Python