Connecting to SQL Database using SQLAlchemy in Python
Last Updated :
21 Mar, 2023
In this article, we will see how to connect to an SQL database using SQLAlchemy in Python.
To connect to a SQL database using SQLAlchemy we will require the sqlalchemy library installed in our python environment. It can be installed using pip -
!pip install sqlalchemy
The create_engine() method of sqlalchemy library takes in the connection URL and returns a sqlalchemy engine that references both a Dialect and a Pool, which together interpret the DBAPI’s module functions as well as the behavior of the database.
Syntax: sqlalchemy.create_engine(url, **kwargs)
Parameters:
The connection URL to the database of type "dialect+driver://username:password@host:port/database".
Example 1: For MySQL Database
In this example, we have successfully created a connection to the MySQL database. Please note that we have created the database named 'GeekForGeeks' in the local instance of mySQL server with the password set as 'password'. The dialect and driver for establishing the connection to MySQL database are MySQL and pymysql respectively.
Python
# IMPORT THE SQALCHEMY LIBRARY's CREATE_ENGINE METHOD
from sqlalchemy import create_engine
# DEFINE THE DATABASE CREDENTIALS
user = 'root'
password = 'password'
host = '127.0.0.1'
port = 3306
database = 'GeeksForGeeks'
# PYTHON FUNCTION TO CONNECT TO THE MYSQL DATABASE AND
# RETURN THE SQLACHEMY ENGINE OBJECT
def get_connection():
return create_engine(
url="mysql+pymysql://{0}:{1}@{2}:{3}/{4}".format(
user, password, host, port, database
)
)
if __name__ == '__main__':
try:
# GET THE CONNECTION OBJECT (ENGINE) FOR THE DATABASE
engine = get_connection()
print(
f"Connection to the {host} for user {user} created successfully.")
except Exception as ex:
print("Connection could not be made due to the following error: \n", ex)
Output:
$ Connection to the 127.0.0.1 for user root created successfully.
Example 2: For PostgreSQL Database
In this example, a sqlalchemy engine connection has been established with the PostgreSQL database. Please note that we have used the pre-existing database named 'postgres' that comes within the local instance of postgresql server. The dialect and driver for establishing the connection to MySQL database is postgres.
Python
# IMPORT THE SQALCHEMY LIBRARY's CREATE_ENGINE METHOD
from sqlalchemy import create_engine
# DEFINE THE DATABASE CREDENTIALS
user = 'root'
password = 'password'
host = '127.0.0.1'
port = 5432
database = 'postgres'
# PYTHON FUNCTION TO CONNECT TO THE POSTGRESQL DATABASE AND
# RETURN THE SQLACHEMY ENGINE OBJECT
def get_connection():
return create_engine(
url="postgresql://{0}:{1}@{2}:{3}/{4}".format(
user, password, host, port, database
)
)
if __name__ == '__main__':
try:
# GET THE CONNECTION OBJECT (ENGINE) FOR THE DATABASE
engine = get_connection()
print(
f"Connection to the {host} for user {user} created successfully.")
except Exception as ex:
print("Connection could not be made due to the following error: \n", ex)
Output:
$ Connection to the 127.0.0.1 for user root created successfully.
Similar Reads
Connecting Pandas to a Database with SQLAlchemy In this article, we will discuss how to connect pandas to a database and perform database operations using SQLAlchemy. The first step is to establish a connection with your existing database, using the create_engine() function of SQLAlchemy. Syntax: from sqlalchemy import create_engine engine = crea
3 min read
PostgreSQL - Connecting to the Database using Python PostgreSQL in Python offers a robust solution for developers looking to interact with databases seamlessly. With the psycopg2 tutorial, we can easily connect Python to PostgreSQL, enabling us to perform various database operations efficiently. In this article, we will walk you through the essential
4 min read
Python SQLite - Connecting to Database In this article, we'll discuss how to connect to an SQLite database in Python using the sqlite3 module, perform basic operations, and handle errors effectively.Connecting to the DatabaseTo interact with an SQLite database, we first need to establish a connection to it using the connect() method. If
2 min read
How to Connect Python with SQL Database? In this article, we will learn how to connect SQL with Python using the MySQL Connector Python module. Below diagram illustrates how a connection request is sent to MySQL connector Python, how it gets accepted from the database and how the cursor is executed with result data.SQL connection with Pyth
2 min read
How to connect to SQLite database that resides in the memory using Python ? 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 ser
3 min read