Open In App
Related Articles

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

Improve Article
Save Article
Like Article

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)

Stepwise Implementation

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.


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.


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.


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.



Below is the complete program based on the above approach:


# import required modules
import sqlite3
from sqlite3 import Error as Err
# explicit function to connect  database
# that resides in the memory
def SQLite_connection():
        # 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       



Last Updated : 12 Oct, 2021
Like Article
Save Article
Similar Reads
Related Tutorials