Conexión a la base de datos SQL usando SQLAlchemy en Python

En este artículo, veremos cómo conectarse a una base de datos SQL usando SQLAlchemy en Python.

Para conectarnos a una base de datos SQL usando SQLAlchemy, necesitaremos la biblioteca sqlalchemy instalada en nuestro entorno de python. Se puede instalar usando pip –

$ pip install sqlalchemy

El método create_engine() de la biblioteca sqlalchemy toma la URL de conexión y devuelve un motor sqlalchemy que hace referencia tanto a un dialecto como a un grupo, que juntos interpretan las funciones del módulo DBAPI, así como el comportamiento de la base de datos.

Sintaxis: sqlalchemy.create_engine(url, **kwargs)

Parámetros:

  • URL: string

La URL de conexión a la base de datos de tipo «dialecto+controlador://nombre de usuario:contraseña@host:puerto/base de datos».

Ejemplo 1: para la base de datos MySQL

En este ejemplo, hemos creado con éxito una conexión a la base de datos MySQL. Tenga en cuenta que hemos creado la base de datos llamada ‘GeekForGeeks’ en la instancia local del servidor mySQL con la contraseña establecida como ‘contraseña’. El dialecto y el controlador para establecer la conexión a la base de datos MySQL son MySQL y pymysql respectivamente.

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)

Producción:

$ Connection to the 127.0.0.1 for user root created successfully.

Ejemplo 2: para la base de datos PostgreSQL

En este ejemplo, se ha establecido una conexión de motor sqlalchemy con la base de datos PostgreSQL. Tenga en cuenta que hemos utilizado la base de datos preexistente llamada ‘postgres’ que viene dentro de la instancia local del servidor postgresql. El dialecto y controlador para establecer la conexión a la base de datos MySQL es 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)

Producción:

$ Connection to the 127.0.0.1 for user root created successfully.

Publicación traducida automáticamente

Artículo escrito por apathak092 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *