Está en la página 1de 3

Cómo conectarse a MySQL usando Python

neoguias.com/como-conectarse-a-mysql-usando-python

por Edu Lázaro 14 de marzo de


2019

Vamos a ver cómo puedes utilizar MySQL en Python para así poder realizar operaciones y
consultas SQL sobre bases de datos MySQL.

Si aún no has instalado MySQL debes hacerlo. También debes haber creado una base de
datos para conectarte a ella. Si no lo has hecho, puedes hacerlo siguiendo el primer
apartado de esta guía.

Configura una base de datos


Lo primero que debes hacer es crear una base de datos. Puedes hacerlo mediante la línea
de comandos:

mysql -u USUARIO -p

Se te preguntará por la contraseña del usuario que has indicado. Tras introducir la
contraseña utiliza estos comandos para crear una tabla. A modo de ejemplo crearemos la
siguiente:

CREATE DATABASE neoguias;

Ahora selecciona la base de datos usuarios para trabajar con ella:

USE neoguias;

Ahora debes crear una tabla, que en este ejemplo será la siguiente:

CREATE TABLE IF NOT EXISTS usuarios (


id int(11) NOT NULL AUTO_INCREMENT,
nombre varchar(50),
apellido varchar(50),
PRIMARY KEY (id)
);

Vamos a insertar estos datos de ejemplo:

INSERT INTO usuarios (nombre, apellido) VALUES ("Eduardo", "Rodriguez");


INSERT INTO usuarios (nombre, apellido) VALUES ("Javier", "Martinez");
INSERT INTO usuarios (nombre, apellido) VALUES ("Sara", "Alvarez");

Cómo conectarte a la base de datos usando Python


1/3
Para poder acceder a la base de datos desde Python, debes instalar uno de los muchos
paquetes que te permitirán hacerlo. Vamos a ver cómo instalar y utilizar los tres más
famosos:

MySQL-python
Este paquete contiene el módulo MySQLdb, que está escrito en C. Este es el módulo MySQL
más utilizado en Python.

Para instalar MySQL-python utiliza el siguiente comando:

pip install MySQL-python

Tras instalar el paquete, ya podrás trabajar con bases de datos MySQL. Vamos a ver cómo
hacerlo con un ejemplo basado en la base de datos que hemos creado. Debes reemplazar
USUARIO por tu nombre de USUARIO y PASS por la contraseña que hayas introducido:

#!/usr/bin/python

print "Resultados de MySQLdb:"


import MySQLdb
miConexion = MySQLdb.connect( host='localhost', user= 'USUARIO', passwd='PASS', db='neoguias' )
cur = miConexion.cursor()
cur.execute( "SELECT nombre, apellido FROM usuarios" )
for nombre, apellido in cur.fetchall() :
print nombre, apellido
miConexion.close()

En el ejemplo creamos una instancia de la conexión a MySQLdb y seguidamente ejecutamos


una consulta. MySQLdb utiliza la API portable de bases de datos SQL, por lo que para
ejecutar las consultas utilizamos las mismas funciones que con los otros módulos.

mysql-connector-python
Este paquete contiene el módulo mysql.connector, que está escrito en Python.

Para instalar el paquete mysql-connector-python utiliza el siguiente comando:

pip install mysql-connector-python

Tras instalar el paquete, ya podemos realizar consultas sobre bases de datos MySQL.
Vamos a ver cómo hacerlo basándonos en el ejemplo anterior. Debes reemplazar USUARIO
por tu nombre de USUARIO y PASS por la contraseña que hayas introducido:

2/3
#!/usr/bin/python

print "Resultados de mysql.connector:"


import mysql.connector
miConexion = mysql.connector.connect( host='localhost', user= 'USUARIO', passwd='PASS',
db='neoguias' )
cur = miConexion.cursor()
cur.execute( "SELECT nombre, apellido FROM usuarios" )
for nombre, apellido in cur.fetchall() :
print nombre, apellido
miConexion.close()

En el ejemplo creamos una instancia de la conexión a mysql.connector y luego ejecutamos


una consulta. mysql.connector también utiliza la API portable de bases de datos SQL, por lo
que para ejecutar las consultas podemos utilizar las mismas funciones que con los otros
módulos.

PyMySQL
Este paquete contiene el módulo pymysql, que está escrito en Python, siendo una especie
de reemplazo de MySQL-python:

Para instalar el paquete de pymysql utiliza el siguiente comando:

pip install pymysql

Tras instalar el paquete realizaremos consultas sobre bases de datos MySQL. Nos
basaremos en el mismo ejemplo que en los otros casos. Debes reemplazar USUARIO por tu
nombre de USUARIO y PASS por la contraseña que hayas introducido:

#!/usr/bin/python

print "Resultados de PyMySQL:"


import pymysql
miConexion = pymysql.connect( host='localhost', user= 'USUARIO', passwd='PASS', db='neoguias' )
cur = miConexion.cursor()
cur.execute( "SELECT nombre, apellido FROM usuarios" )
for nombre, apellido in cur.fetchall() :
print nombre, apellido
miConexion.close()

Al igual que antes, creamos una instancia de la conexión y ejecutamos una consulta.
PyMySQLtambién utiliza la API portable de bases de datos SQL.

3/3

También podría gustarte