DB Connection with Python

En la mayoria de los proyectos de software es necesario poder conectarnos a una base de datos, ya sea cuando estemos desarrollando un software de gestión o necesitemos extrar información para poder realizar análisis sobre los datos.

Primero que nada vamos a instalar el conector a la base de datos que queremos conectarnos, en este caso, vamos a conectarnos a MySql; es por esto que vamos a instalarlo desde pip.

pip install mysql-connector-python

Una vez que hayamos instalado el conecto, abrimos nuestra Ide de preferencia, en mi caso, Visual Studio code.


# Primer paso importamos el conectator
import mysql.connector as conx

Como segundo paso, creamos el método de conección a la base de datos. El método es simple, recibe como parámetros, el ip o nombre del servidor, el usuario, password y el nombre de la base de datos; todo se ejecuta dentro de un bloque try-catch para poder manejar los errores que puedan ocurrir al momento de realizar la conección a la base. Si la coneccion es exitosa, muestra un mensaje y el objeto conn tendrá la coneccion activa, de lo contrario mostrará un mensaje de error.

# Conexion a la base de datos
def connect(hostserver, user, passw, db):
    global conn
    try:
        conn = conx.connect(
            host = hostserver,
            user = user,
            passwd = passw,
            database = db
        )
        if conn.is_connected():
            print('Connection OK !!')
            query("select * from clientes")
    except conn.Error as err:
        print('Error al conectar : ' + str(err))
    finally:
        conn.close()

Ejecutando nuestra primera consulta.

Una vez que hayamos logrado conectarnos estamos listos para poder realizar nuestro primer query al motor.

El siguiente código ejecuta una consulta o query que se le pase por parámetro q_sql.

# Metodo para ejecutar consultas por parametro.
def query(q_sql):
    try:        
        if conn.is_connected(): # Verifico que la coneccion este ok
            cursor = conn.cursor() # obtengo un cursos
            cursor.execute(q_sql) # ejecuto el sql
            result = cursor.fetchall() # obtengo todos los resultados que trae.
            print(result) # imprimo los resultados
    except conn.Error as err:
        print('Error al conectar : ' + str(err))
    finally:
        conn.close()

Ejecutando ...

Reemplaza los parámetros de localhost, user, password y nombre de base de datos y ejecuta el ejemplo para ver los resultados

if __name__ == '__main__':
    connect('localhost', 'root', 'mypassword', 'mydb')


Conclusión

Python nos hace realmente fácil poder conectarnos a cualquier motor de base de datos y poder realizar operaciones.



Comentarios