Conectarse a MYSQL con Python 2 en tres pasos
1 - Configuración
Debe instalar un controlador MySQL antes de hacer nada. A diferencia de PHP, solo el controlador SQLite se instala de forma predeterminada con Python. El paquete más utilizado para hacerlo es MySQLdb pero es difícil instalarlo usando easy_install. Tenga en cuenta que MySQLdb solo es compatible con Python 2.
Para usuarios de Windows, puede obtener un exe de MySQLdb .
Para Linux, este es un paquete casual (python-mysqldb). (Puede usar sudo apt-get install python-mysqldb
(para distribuciones basadas en Debian), yum install MySQL-python
(para los basados en rpm) o dnf install python-mysql
(para la distribución moderna de fedora) en la línea de comando para descargar.)
Para Mac, puede instalar MySQLdb usando Macport .
2 - Uso
Después de la instalación, reinicie. Esto no es obligatorio, pero me impedirá responder otras 3 o 4 preguntas en esta publicación si algo sale mal. Así que reinicia.
Entonces es como usar cualquier otro paquete:
#!/usr/bin/python
import MySQLdb
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="john", # your username
passwd="megajonhy", # your password
db="jonhydb") # name of the data base
# you must create a Cursor object. It will let
# you execute all the queries you need
cur = db.cursor()
# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")
# print all the first cell of all the rows
for row in cur.fetchall():
print row[0]
db.close()
Por supuesto, hay miles de posibilidades y opciones; Este es un ejemplo muy básico. Tendrás que mirar la documentación. Un buen punto de partida .
3 - Uso más avanzado
Una vez que sepa cómo funciona, es posible que desee utilizar un ORM para evitar escribir SQL manualmente y manipular sus tablas como si fueran objetos de Python. El ORM más famoso en la comunidad Python es SQLAlchemy .
Te recomiendo encarecidamente que lo uses:tu vida va a ser mucho más fácil.
Recientemente descubrí otra joya en el mundo Python:peewee . Es un ORM muy ligero, realmente fácil y rápido de configurar y luego usar. Me alegra el día para proyectos pequeños o aplicaciones independientes, donde usar grandes herramientas como SQLAlchemy o Django es excesivo:
import peewee
from peewee import *
db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')
class Book(peewee.Model):
author = peewee.CharField()
title = peewee.TextField()
class Meta:
database = db
Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
print book.title
Este ejemplo funciona fuera de la caja. Nada más que tener peewee (pip install peewee
) es obligatorio.